Esempio n. 1
0
        public IActionResult CreateIlan(CreateIlanModel ilan, List <IFormFile> files)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.Markalar = _markaService.GetMarkalar();
                ViewBag.Iller    = _ilService.GetIller();
                return(View(ilan));
            }
            int randomsayi = rnd.Next(100000000, 999999999);
            var entity     = new Ilan
            {
                IlanId           = randomsayi,
                ilanBasligi      = ilan.ilanBasligi,
                ilanDetay        = ilan.ilanDetay,
                ilId             = Convert.ToInt32(ilan.ilId),
                seri             = ilan.seri,
                model            = ilan.model,
                yil              = ilan.yil,
                yakitTipi        = ilan.yakitTipi,
                vitesTipi        = ilan.vitesTipi,
                kilometre        = ilan.kilometre,
                kasaTipi         = ilan.kasaTipi,
                motorGücü        = ilan.motorGücü,
                motorHacmi       = ilan.motorHacmi,
                azamiSurati      = ilan.azamiSurati,
                hizlanma         = ilan.hizlanma,
                cekisTipi        = ilan.cekisTipi,
                sehirIciTuketim  = ilan.sehirIciTuketim,
                sehirDisiTuketim = ilan.sehirDisiTuketim,
                renk             = ilan.renk,
                kimden           = ilan.kimden,
                takas            = ilan.takas,
                durum            = ilan.durum,
                fiyat            = ilan.fiyat,
                ilanTarihi       = DateTime.Now,
                markaId          = Convert.ToInt32(ilan.markaId),
                userId           = _userManager.GetUserId(User)
            };

            _ilanService.Create(entity);
            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        var fileName         = Path.GetFileName(file.FileName);
                        var myUniqueFileName = Convert.ToString(Guid.NewGuid());
                        var fileExtension    = Path.GetExtension(fileName);
                        var newFileName      = String.Concat(myUniqueFileName, fileExtension);
                        var resim            = new Resim()
                        {
                            url    = newFileName,
                            IlanId = randomsayi,
                        };
                        _resimService.Create(resim);

                        var filepath =
                            new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "Images")).Root + $@"\{newFileName}";
                        using (FileStream fs = System.IO.File.Create(filepath))
                        {
                            file.CopyTo(fs);
                            fs.Flush();
                        }
                    }
                }
            }
            TempData["message"] = $"{ entity.ilanBasligi} başlıklı {entity.IlanId} ilan numarasına sahip araç yayındadır.";
            return(Redirect("/cars"));
        }
        public ActionResult Duzenle(Ilan model, int fID, IEnumerable <HttpPostedFileBase> IlanResimler)
        {
            ViewBag.IlanKategoriID = new SelectList(_managerIlanKategori.List(), "IlanKategoriID", "KategoriAdi");
            ViewBag.fID            = new SelectList(_managerFirma.List(), "ID", "FirmaAdi");
            ModelState.Remove("IlanTarih");
            ModelState.Remove("ilanResimler");
            if (ModelState.IsValid)
            {
                Ilan         ilan = _managerIlan.Find(x => x.ID == model.ID);
                IlanKategori kat  = _managerIlanKategori.Find(x => x.IlanKategoriID == model.IlanKategoriID);
                Firma        frm  = _managerFirma.Find(x => x.ID == fID);
                ilan.Baslik       = model.Baslik;
                ilan.Aciklama     = model.Aciklama;
                ilan.KisaAciklama = model.KisaAciklama;
                ilan.kategori     = kat;
                ilan.firma        = frm;
                ilan.IlanTarih    = DateTime.Now;

                int res = _managerIlan.Update(ilan);

                if (res == 0)
                {
                    ModelState.AddModelError("", "İlan Güncellenemedi");
                    ViewBag.IlanKategoriID = new SelectList(_managerIlanKategori.List(), "IlanKategoriID", "KategoriAdi");
                    ViewBag.fID            = new SelectList(_managerFirma.List(), "ID", "FirmaAdi");
                    return(View(model));
                }

                if (IlanResimler != null && IlanResimler.Count() > 0)
                {
                    foreach (HttpPostedFileBase file in IlanResimler)
                    {
                        if (file != null &&
                            (file.ContentType == "image/jpeg" ||
                             file.ContentType == "image/jpg" ||
                             file.ContentType == "image/png"))
                        {
                            try
                            {
                                IlanResim rsm      = new IlanResim();
                                string    filename = $"{AdGetir.ResimAd(ilan.Baslik)}.{file.ContentType.Split('/')[1]}";
                                file.SaveAs(Server.MapPath($"~/img/Ilan/{filename}"));

                                rsm.ResimYol = filename;
                                rsm.IlanID   = ilan.ID;
                                _managerIlanResim.Add(rsm);
                            }
                            catch (Exception exp)
                            {
                                ModelState.AddModelError("", exp.Message);
                            }
                        }
                    }
                    _managerIlanResim.Save();
                }

                return(RedirectToAction("Index"));
            }

            return(View());
        }