public ActionResult Edit(ZetaCodeFanteziIplikEditVm model) { var container = new FanteziIplikContainerDto(); container.FanteziIplik = model.FanteziIplik; var normalIplikler = new List <ZetaCodeNormalIplik>(); //var fanteziIplikler = new List<ZetaCodeFanteziIplik>(); if (model.KarsimdakiIplikler.Any()) { for (int i = 0; i < model.KarsimdakiIplikler.Count; i++) { var parts = model.KarsimdakiIplikler[i].Value.Split('|'); var id = parts[0]; var iplikTipi = parts[1]; if (iplikTipi.Equals("Normaliplik", StringComparison.InvariantCultureIgnoreCase)) { normalIplikler.Add(new ZetaCodeNormalIplik() { Id = id.AsInt() }); } //else if (iplikTipi.Equals("Fanteziiplik", StringComparison.InvariantCultureIgnoreCase)) //{ // fanteziIplikler.Add(new ZetaCodeFanteziIplik() { Id = id.AsInt() }); //} } } if (!string.IsNullOrWhiteSpace(model.RenkIdHtmlKod)) { var parts = model.RenkIdHtmlKod.Split('|'); var id = parts[0].AsInt(); container.FanteziIplik.Renkid = id; //container.Renk = new Renk() { Id = id, HtmlKod = parts[1] }; } container.RafyeriTurkiye = model.RafyeriTurkiye; container.RafyeriYunanistan = model.RafyeriYunanistan; container.NormalIplikler = normalIplikler; Action action = () => { GetFanteziIplikService().InsertOrUpdate(container); }; if (HandleException(action)) { return(RedirectToAction(controllerName: "ZetaCode", actionName: "Index")); } var fanteziIplik = model.FanteziIplik; //FillCollections(model // , sirketId: fanteziIplik.SirketId // , ulkeId: container.Ulke.Id.AsInt() // ); return(View(viewName: "Edit", model: model)); }
public FanteziIplikContainerDto GetCard(int id, string compantId) { var container = new FanteziIplikContainerDto(); var fanteziIplik = _repository.QueryableNoTracking().FirstOrDefault(x => x.Id == id); if (fanteziIplik == null) { return(container); } var picture = _repoFanteziIplikPicture.QueryableNoTracking().FirstOrDefault(x => x.ZetaCodeFanteziIplikId == fanteziIplik.Id && x.CompanyId == fanteziIplik.SirketId); if (picture != null) { container.PictureUrl = picture.Name; } container.FanteziIplik = fanteziIplik; container.AnaIplikKategorileri = _termService.GetAllParentsById(fanteziIplik.IplikKategosiId); container.AnaIplikKategorileri.Reverse(); if (!string.IsNullOrWhiteSpace(fanteziIplik.SirketId)) { var company = _companyService.GetCompanyById(fanteziIplik.SirketId); container.Company = company; } container.Renk = _renkService.GetRenkById(fanteziIplik.Renkid); container.PantoneRenk = _pantoneRenkService.GetPantoneRenkById(fanteziIplik.PantoneId); container.RafyeriTurkiye = _termService.GetTermById(fanteziIplik.RafyeriTurkiyeId); container.RafyeriYunanistan = _termService.GetTermById(fanteziIplik.RafyeriYunanistanId); container.Ulke = _othersService.GetCountryById(fanteziIplik.UlkeId); return(container); }
public void InsertOrUpdate(FanteziIplikContainerDto container) { var tran = _repository.UnitOfWorkAsync(); try { tran.BeginTransaction(); var fanteziIplik = container.FanteziIplik; if (fanteziIplik.Id > 0) { fanteziIplik.ChangedOn = DateTime.UtcNow; this.Update(fanteziIplik); } else { fanteziIplik.CreatedOn = DateTime.UtcNow; this.Insert(fanteziIplik); } tran.SaveChanges(); var oncekiNormalIplikler = (from fi in _repoFanteziIplikNormalIplik.Queryable() where fi.FanzteziIplikId == fanteziIplik.Id select fi).ToList(); if (oncekiNormalIplikler.Any()) { foreach (var item in oncekiNormalIplikler) { item.IsPassive = true; item.ChangedOn = DateTime.UtcNow; _repoFanteziIplikNormalIplik.Update(item); } } tran.SaveChanges(); if (container.NormalIplikler.Any()) { //_repoFanteziIplikNormalIplik for (int i = 0; i < container.NormalIplikler.Count; i++) { var normalIplik = container.NormalIplikler[i]; var oncekiNormalIplik = oncekiNormalIplikler.FirstOrDefault(x => x.FanzteziIplikId == fanteziIplik.Id && x.NormalIplikId == normalIplik.Id); if (oncekiNormalIplik != null) { oncekiNormalIplik.IsPassive = false; oncekiNormalIplik.FanzteziIplikId = fanteziIplik.Id; oncekiNormalIplik.NormalIplikId = normalIplik.Id; oncekiNormalIplik.ChangedOn = DateTime.UtcNow; _repoFanteziIplikNormalIplik.Update(oncekiNormalIplik); } else { _repoFanteziIplikNormalIplik.Insert(new ZetaCodeFanteziIplikNormalIplik() { NormalIplikId = normalIplik.Id, FanzteziIplikId = fanteziIplik.Id, CreatedOn = DateTime.UtcNow }); } } } tran.SaveChanges(); if (container.RafyeriTurkiye != null) { fanteziIplik.RafyeriTurkiyeId = container.RafyeriTurkiye.Id; } if (container.RafyeriYunanistan != null) { fanteziIplik.RafyeriYunanistanId = container.RafyeriYunanistan.Id; } this.Update(fanteziIplik); tran.SaveChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); container.FanteziIplik.Id = 0; throw; } }