//İlan Ekle
        public Task <IlanIlanlarResponse> CreateAsync(EmlakIlanRequest request)
        {
            return(base.ExecuteWithExceptionHandledOperation(async() =>
            {
                #region İlan Genel Özellikler
                IlanRequest ilan = new IlanRequest();
                ilan.Baslik = request.Baslik;
                ilan.Aciklama = request.Aciklama;
                // var roundedResult = Math.Round(Convert.ToDouble(request.Fiyat.Insert(1,"."), 2);
                ilan.Fiyat = Convert.ToDecimal(request.Fiyat); //.Replace(".",",")
                ilan.MetreKare = request.MetreKare;
                ilan.UserName = request.UserName;
                ilan.Private = request.Private;
                ilan.CepTelefonu = request.CepTelefonu;
                ilan.Sahibi = request.Sahibi;
                ilan.IletisimTelefonu = request.IletisimTelefonu;
                #region Satılık Devren
                if (request.SatilikId == 2 || request.SatilikId == 4)
                {
                    ilan.TakasliID = request.TakasliID;
                    ilan.TakasTuru = request.TakasTuru;
                }
                #endregion
                #region Satılık
                if (request.SatilikId == 2)
                {
                    ilan.Ada = request.Ada;
                    ilan.Pafta = request.Pafta;
                    ilan.Parsel = request.Parsel;
                }
                #endregion
                var ilanlarIlan = Mapper.Map <IlanIlanlar>(ilan);
                #region Ilan Root kategori
                //Satılık Kiralı Devren
                int tur = request.SatilikId;
                var turu = await _emlakKategoriler.GetAsync(tur);
                //Konut İşyeri Arsa
                int tip = request.IlanTuru;
                var tipi = await _emlakKategoriler.GetAsync(tip);

                ilanlarIlan.EmlakKategoriler.Add(turu);
                ilanlarIlan.EmlakKategoriler.Add(tipi);
                #endregion
                #region Semt Mahalle Ilçe
                int ilce = request.id;
                var getIlce = await _ilanLocation.GetAsync(ilce);
                ilanlarIlan.EmlakLocation.Add(getIlce);

                int semt = request.SemtId;
                var getSemt = await _ilanLocation.GetAsync(semt);
                ilanlarIlan.EmlakLocation.Add(getSemt);

                int mahalle = request.MahalleId;
                var getMahalle = await _ilanLocation.GetAsync(mahalle);

                ilanlarIlan.EmlakLocation.Add(getMahalle);
                #endregion
                _ilanIlanlar.Add(ilanlarIlan);
                await _ilanIlanlar.SaveChangeAsync();
                #endregion

                #region Ilan Kimden
                IlanKimdenRequest ilanKimden = new IlanKimdenRequest();
                ilanKimden.KimdemID = request.IlanKimden;
                ilanKimden.EmlakIlanID = ilanlarIlan.Id;

                var ilanKmd = Mapper.Map <IlanKimden>(ilanKimden);
                _ilanKimden.Add(ilanKmd);
                await _ilanKimden.SaveChangeAsync();
                #endregion

                #region Konut Özellikler
                if (tip == 5 || tip == 11)
                {
                    IlanKonutTipiOzelliklerRequest konutTipi = new IlanKonutTipiOzelliklerRequest();
                    konutTipi.EmlakIlanID = ilanlarIlan.Id;
                    konutTipi.KonutTipiOzellikler = request.KonutTipi;

                    var konuttipi = Mapper.Map <IlanKonutTipiOzellikler>(konutTipi);
                    _emlakTip.Add(konuttipi);
                    await _emlakTip.SaveChangeAsync();

                    IlanlarEmlakGenelRequest genel = new IlanlarEmlakGenelRequest();
                    genel.EmlakIlanID = ilanlarIlan.Id;
                    genel.IsitmaID = request.Isitma;
                    genel.BulunduguKatID = request.BulunduguKat;
                    genel.OdaSayisiID = request.OdaSayisi;

                    var emlakGenel = Mapper.Map <IlanlarEmlakGenel>(genel);
                    _genel.Add(emlakGenel);
                    await _genel.SaveChangeAsync();
                }
                #endregion

                #region İşyeri Özellikler
                if (tip == 6 || tip == 12)
                {
                    IlanKullanimAmaciRequest ilanKullanim = new IlanKullanimAmaciRequest();
                    ilanKullanim.EmlakIlanID = ilanlarIlan.Id;
                    ilanKullanim.KullanimAmaci = request.EmlakKullanimAmaci;

                    var ilankullanim = Mapper.Map <IlanKullanimAmaci>(ilanKullanim);
                    _ilanKullanimAmaci.Add(ilankullanim);
                    await _ilanKullanimAmaci.SaveChangeAsync();

                    IlanlarEmlakGenelRequest genel = new IlanlarEmlakGenelRequest();
                    genel.EmlakIlanID = ilanlarIlan.Id;
                    genel.IsitmaID = request.Isitma;
                    genel.BulunduguKatID = request.BulunduguKat;
                    // genel.OdaSayisiID = request.OdaSayisi;

                    var emlakGenel = Mapper.Map <IlanlarEmlakGenel>(genel);
                    _genel.Add(emlakGenel);
                    await _genel.SaveChangeAsync();
                }
                #endregion

                #region İşyeri Konut Ortak Özellikler
                if (tip == 5 || tip == 6 || tip == 11 || tip == 12)
                {
                    IlanIcOzelliklerRequest icOzellikler = new IlanIcOzelliklerRequest();
                    string remove = request.IcOzellikler.Replace("[", "").Replace("]", "").Trim();
                    string[] temp = remove.Split(',');
                    if (temp.Any())
                    {
                        foreach (var item in temp)
                        {
                            icOzellikler.EmlakIlanID = ilanlarIlan.Id;
                            icOzellikler.IcOzellikler = item;

                            var ilanicozellikler = Mapper.Map <IlanIcOzellikler>(icOzellikler);
                            _icOzellikler.Add(ilanicozellikler);
                            await _icOzellikler.SaveChangeAsync();
                        }
                    }

                    IlanDisOzelliklerRequest disOzellikler = new IlanDisOzelliklerRequest();
                    string removedis = request.DisOzellikler.Replace("[", "").Replace("]", "").Trim();
                    string[] tempdis = removedis.Split(',');
                    if (tempdis.Any())
                    {
                        foreach (var item in tempdis)
                        {
                            disOzellikler.EmlakIlanID = ilanlarIlan.Id;
                            disOzellikler.DisOzellikler = item;

                            var ilandisozellikler = Mapper.Map <IlanDisOzellikler>(disOzellikler);
                            _disOzellikler.Add(ilandisozellikler);
                            await _disOzellikler.SaveChangeAsync();
                        }
                    }
                }
                #endregion

                #region Arsa özellikler
                if (tip == 7 || tip == 8 || tip == 10 || tip == 9 || tip == 13 || tip == 14 || tip == 15 || tip == 16)
                {
                    IlanImarTapuDurumuRequest tapu = new IlanImarTapuDurumuRequest();
                    tapu.EmlakIlanID = ilanlarIlan.Id;
                    // tapu.ImarDurumID = request.EmlakImarDurumu;
                    tapu.TapuDurumId = request.EmlakTapuDurumu;
                    var tapudurumu = Mapper.Map <IlanImarTapuDurumu>(tapu);
                    _ilanImarTapuDurumu.Add(tapudurumu);
                    await _ilanImarTapuDurumu.SaveChangeAsync();

                    IlanImarDurumuRequest imar = new IlanImarDurumuRequest();
                    imar.EmlakIlanID = ilanlarIlan.Id;
                    // tapu.ImarDurumID = request.EmlakImarDurumu;
                    imar.ImarDurumID = request.EmlakImarDurumu;
                    var imardurumu = Mapper.Map <IlanImarDurumu>(imar);
                    _ilanImarDurumu.Add(imardurumu);
                    await _ilanImarDurumu.SaveChangeAsync();
                }
                #endregion

                return Mapper.Map <IlanIlanlarResponse>(ilanlarIlan);
            }));
        }
Exemple #2
0
 public Task <IlanEmlakGenelResponse> CreateAsync(IlanlarEmlakGenelRequest request)
 {
     throw new NotImplementedException();
 }