Giter Site home page Giter Site logo

emlak-otomasyonu-1's Introduction

Emlak-Otomasyonu

C# - Emlak Otomasyonu - Real Estate Automation

Bu yazımda sadece emlak otomasyonunda istenilenler vardır. Bazı yanlışlarım veya kod tekrarlarım olabilir.

Giriş Bilgileri => Kullanıcı Adı: eray Şifre: 123

Kurumsal bir emlak ofisi için istenen otomasyonun çekirdeğini oluşturacak bir yazılım geliştirmeniz istenmektedir. Bu nedenle nesneye yönelik programlama ilkelerine bağlı kalarak gerekli sınıfları bir sınıf kütüphanesi içinde kodlamanız istenmektedir. Oluşturacağınız Solution içinde iki ayrı proje açmalısınız. Birincisi ClassLibrary projesi, ikincisi otomasyonun arayüzünü oluşturacak Windows Forms Application projesi olmalıdır. Tasarlayacağınız sınıfları; windows uygulamasına kütüphane projesini import ederek veya derleme sonucu elde edeceğiniz dll dosyasını import ederek kullanmalısınız. Tek bir proje içinde geliştirilen uygulama geçersiz sayılacaktır.

Giriş

Seçenek Ekranı

Kayıt Ekleme Ekranı

Kayıtların Listelenmesi

Kayıtlar

CLASS LIBRARY PROJESİ

Ev Sınıfı Alanlar ( Fields ) OdaSayısı, KatNumarası, Semti, Alanı, Yapım Tarihi, Türü, aktif, emlak numarası, vb. Kiralık ev için Depozitosu, Kirası Satılık ev için Fiyatı Türü bilgisini enum olarak tanımlayın: Daire, Bahçeli, Dubleks, Müstakil, vb. Emlak numarası alanı her ev nesnesi için farklı olmalıdır. aktif alanı evin işlem sürecini göstermek için kullanılacaktır. Yani ev için halen müşteri aranıp aranmadığını gösterir.

Özellikler ( Properties ) Tüm alanlar için uygun olarak property tanımlamalarını yazın. Set ve Get blokları içinde gerekli kontrolleri yazın.

Örneğin: Oda Sayısı alanı için negatif değer girilmemelidir. Böyle bir kullanım durumunda oda sayısı sıfır olarak atanmalı ve işlemin yapıldığı zaman ve girilmek istenen negatif değer LOG kaydı olarak bir metin dosyasına kaydedilsin. Pozitif geçerli bir değer ataması için de aynı loglama işlemi yapılsın.

Yapım Tarihi bilgisini kullanarak evin yaşını hesaplayan bir property tanımlayın.

Kurucu Metot ( Constructor ) Oda Sayısı, Kat Numarası, Semti, Alanı alanlarına ilk değer atamalarını yaparak Ev nesnesini oluşturan kurucu metot tanımlaması ekleyin. Ayrıca Kurucu metodu aşırı yükleyin ve farklı versiyonlarını da yazmalısınız.

Metotlar EvBilgileri


Ev sınıfından türetilen bir nesneye ait olan bilgileri görüntüleyecek şekilde biçimlendirip geri döndürmelidir. Biçimlendirme işlemi için string.Format() metodunu kullanın.

FiyatHesapla room_cost.txt isimli dosyadan okunacak katsayı ile oda sayısını çarparak evin olası kira fiyatını hesaplayıp geri döndüren bir metot yazın. Eğer room_cost dosyası yoksa kullanılacak katsayı sabit 200 olarak kullanılsın.

Kiralık Ev Sınıfı Kiralık Ev ve Ev sınıfları arasında yani ilişkisi vardır. Dolayısıyla Ev nesnesinin sahip olduğu tüm özelliklere Kiralık Ev nesnesi de sahip olmalıdır.

EvBilgileri Metodunu override edin ve kiralık ev bilgilerini geri döndürecek şekilde güncelleyin. Uygun kurucu metot tanımlamalarını yapın.

Satılık Ev Sınıfı Satılık Ev ve Ev sınıfları arasında yani ilişkisi vardır. Dolayısıyla Ev nesnesinin sahip olduğu tüm özelliklere Satılık Ev nesnesi de sahip olmalıdır.

EvBilgileri Metodunu override edin ve satılık ev bilgilerini geri döndürecek şekilde güncelleyin. Uygun kurucu metot tanımlamalarını yapın.

WINDOWS FORMS APPLICATION PROJESİ

Emlakçının • Yeni ev ekleme, • Silme, • Düzenleme ve • Sorgulama-listeleme (en önemlisi) işlemlerinin yapılacağı ara-yüzleri içermelidir. Form tasarımları sizin yaratıcılığınıza bırakılmış olup özgün tasarımlar olmak zorundadır.

Program çalıştırıldığında ilk olarak Login Penceresi gelecek ve Kullanıcı Adı – Şifre eşleşmelerini “users.txt” dosyasından kontrol edilecektir. Yetkili bilinen bir kullanıcı ise Login formu kapatılarak; Ana Form açılacaktır.

Kayıt Ekranı: Yeni eklenecek evle ilgili bilgiler bu form üzerinden gerekli kontroller yapılarak alınmalıdır. Burada kullanılacak kontroller ve tasarım olabildiğince kullanıcının işini kolaylaştırıcı şekilde ve hatayı en aza indirgeyecek şekilde seçilmelidir.
Örneğin semt bilgisi seçilecek ile göre ilgili bir metin dosyasından okunarak doldurulacak bir combobox-tan seçilmelidir. Böylece kullanıcının manuel girişinde yapılacak hatalar önlenmiş olur. Kayıtlar 1000 sabit boyutlu ve türü Ev olan bir dizi içinde tutulmalıdır. Aynı zamanda sizin belirleyeceğiniz bir formatta kayıtlar “satilik.txt” ve “kiralik.txt” olmak üzere iki dosyada saklanmalı ve program kapatılıp yeniden açıldıktan sonra kayıtlara ulaşılabilmelidir. Format sizin tarafınızdan belirleneceği için başka projelerle benzerlik gösteremez.

Sorgulama Ekranı: Emlakçının işini kolaylaştıran en önemli arayüzdür. Müşterinin isteklerine göre sorgulama yaparak; kayıtlar arasında uygun evleri arayıp bulan formdur. Sonuçlar bu form üzerinde listelenecek ve detaylarına ulaşmak için Kayıt Ekranına benzer bir form üzerinde kolay bir şekilde görüntülenebilmesi sağlanacaktır. Sorgulama esnasında sadece aktif durumda olan evler varsayılan olarak taranacaktır. Ancak opsiyonel olarak daha önce emlakçının elinde olan ama işlemi tamamlanmış evler de taranabilmelidir.

Sorgulama Ekranından bulunan bir evin detaylarının görüntüleneceği Listeleme formu üzerinden düzenleme, silme ve arşivleme işlemeleri yapılabilmedir. Arşivleme işlemi ev nesnesini tamamen silmek yerine değişkenin değerini true-dan false-a çekmek demektir. Tersi de mümkün olmalıdır.

Listeleme Ekranından evin görüntülerine de ulaşılabilir olmalıdır. İlgili eve ait görüntülerin bulunduğu Windows klasörü, program içinden bir buton ile açılabilmelidir.

emlak-otomasyonu-1's People

Contributors

eraykisabacak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.