public NormalIplikContainerDto GetCard(int id, string companyId) { var container = new NormalIplikContainerDto(); var normalIplik = _repository.QueryableNoTracking().FirstOrDefault(x => x.Id == id); if (normalIplik == null) { return(container); } container.NormalIplik = normalIplik; if (!string.IsNullOrWhiteSpace(normalIplik.SirketId)) { var company = _companyService.GetCompanyById(normalIplik.SirketId); container.Company = company; } container.Renk = _renkService.GetRenkById(normalIplik.Renkid); container.PantoneRenk = _pantoneRenkService.GetPantoneRenkById(normalIplik.PantoneId); container.RafyeriTurkiye = _termService.GetTermById(normalIplik.RafyeriTurkiyeId); container.RafyeriYunanistan = _termService.GetTermById(normalIplik.RafyeriYunanistanId); container.Ulke = _othersService.GetCountryById(normalIplik.UlkeId); container.IplikNoDtos = _iplikNoService.GetNormalIplikIplikNolar(normalIplik.Id); return(container); }
public ZetaCodeNormalIplikCardVm() { Container = new NormalIplikContainerDto(); }
public void InsertOrUpdate(NormalIplikContainerDto container) { try { _repository.UnitOfWorkAsync().BeginTransaction(); var normalIplik = container.NormalIplik; IplikUrunIsmiOlustur(normalIplik); if (normalIplik.Master) { _repository.UnitOfWorkAsync().ExecuteSqlCommand("UPDATE ZetaCodeNormalIplik SET Master = 0 WHERE MASTER = 1"); } var repoIplikNo = _repository.GetRepositoryAsync <IplikNo>(); var repoSim = _repository.GetRepositoryAsync <IplikKategoriSim>(); var repoDegrede = _repository.GetRepositoryAsync <IplikKategoriDegrede>(); var repoFlam = _repository.GetRepositoryAsync <IplikKategoriFlam>(); var repoKircili = _repository.GetRepositoryAsync <IplikKategoriKircili>(); var repoKrep = _repository.GetRepositoryAsync <IplikKategoriKrep>(); var repoNopeli = _repository.GetRepositoryAsync <IplikKategoriNopeli>(); //var _zetaCodeService= new ZetaCodeService(_repository.GetRepositoryAsync<ZetaCodes>()); ////normalIplik.SirketId = container.Company.Id; //normalIplik.Id = _zetaCodeService.GetZetaCodeForIplikInsert(); if (normalIplik.Id > 0) { normalIplik.ChangedOn = DateTime.UtcNow; this.Update(normalIplik); } else { normalIplik.CreatedOn = DateTime.UtcNow; this.Insert(normalIplik); } _repository.UnitOfWorkAsync().SaveChanges(); if (container.Degrede != null) { var degrede = container.Degrede; degrede.ZetaCodeNormalIplikId = normalIplik.Id; if (degrede.Id > 0) { _repoDegrede.Update(degrede); } else { _repoDegrede.Insert(degrede); } } var flam = container.Flam; if (flam != null) { flam.ZetaCodeNormalIplikId = normalIplik.Id; if (flam.Id > 0) { _repoFlam.Update(flam); } else { _repoFlam.Insert(flam); } } var kircili = container.Kircili; if (kircili != null) { kircili.ZetaCodeNormalIplikId = normalIplik.Id; if (kircili.Id > 0) { _repoKircili.Update(kircili); } else { _repoKircili.Insert(kircili); } } var krep = container.Krep; if (krep != null) { kircili.ZetaCodeNormalIplikId = normalIplik.Id; if (krep.Id > 0) { _repoKrep.Update(krep); } else { _repoKrep.Insert(krep); } } var nopeli = container.Nopeli; if (nopeli != null) { nopeli.ZetaCodeNormalIplikId = normalIplik.Id; if (nopeli.Id > 0) { _repoNopeli.Update(nopeli); } else { _repoNopeli.Insert(nopeli); } } var sim = container.Sim; if (sim != null) { sim.ZetaCodeNormalIplikId = normalIplik.Id; if (nopeli.Id > 0) { _repoSim.Update(sim); } else { _repoSim.Insert(sim); } } //İplik Noları kaydet var existingIplikNoIds = new List <int>(); var sum = 0; var iplikNolar = container.IplikNoDtos; foreach (var iplikNoDto in iplikNolar) { iplikNoDto.IplikNo.ZetaCodeNormalIplikId = normalIplik.Id; sum += iplikNoDto.IplikNo.ElyafOrani ?? 0; if (iplikNoDto.IplikNo.Id > 0) { repoIplikNo.Update(iplikNoDto.IplikNo); existingIplikNoIds.Add(iplikNoDto.IplikNo.Id); } else { repoIplikNo.Insert(iplikNoDto.IplikNo); } } if (normalIplik.Id > 0) { var passiveIplikNolar = repoIplikNo.Queryable() .Where(x => x.ZetaCodeNormalIplikId == normalIplik.Id && !existingIplikNoIds.Contains(x.Id) && !x.IsPassive).ToList(); foreach (var passiveIplikNo in passiveIplikNolar) { passiveIplikNo.IsPassive = true; repoIplikNo.Update(passiveIplikNo); } } //----------------------------------// _repository.UnitOfWorkAsync().SaveChanges(); if (iplikNolar != null && iplikNolar.Any() && sum != 100) { throw new Exception("Elyaf Oranı %100 olmalıdır"); } if (container.RafyeriTurkiye != null) { normalIplik.RafyeriTurkiyeId = container.RafyeriTurkiye.Id; } if (container.RafyeriYunanistan != null) { normalIplik.RafyeriYunanistanId = container.RafyeriYunanistan.Id; } _repository.UnitOfWorkAsync().SaveChanges(); _repository.UnitOfWorkAsync().Commit(); } catch (Exception ex) { _repository.UnitOfWorkAsync().Rollback(); container.NormalIplik.Id = 0; throw; } }
public ActionResult Edit(ZetaCodeNormalIplikEditVm model) { var container = new NormalIplikContainerDto(); model.NormalIplik.Renkid = model.Renk?.Id; container.NormalIplik = model.NormalIplik; container.Degrede = model.Degrede; container.Flam = model.Flam; container.Sim = model.Sim; container.Kircili = model.Kircili; container.Nopeli = model.Nopeli; container.Krep = model.Krep; container.Company = model.Company; container.RafyeriTurkiye = model.RafyeriTurkiye; container.RafyeriYunanistan = model.RafyeriYunanistan; if (!string.IsNullOrWhiteSpace(model.RenkIdHtmlKod)) { var parts = model.RenkIdHtmlKod.Split('|'); var id = parts[0].AsInt(); container.NormalIplik.Renkid = id; //container.Renk = new Renk() { Id = id, HtmlKod = parts[1] }; } if (model.IplikNolar.Any()) { var iplikNolar = new List <IplikNoDto>(); foreach (var iplikNo in model.IplikNolar) { iplikNolar.Add(new IplikNoDto() { IplikNo = new IplikNo { Id = iplikNo.Id, ElyafCinsiKalitesi = iplikNo.TermId, ElyafOrani = iplikNo.ElyafOrani } }); } container.IplikNoDtos = iplikNolar; } Action action = () => { GetNormalIplikService().InsertOrUpdate(container); }; if (HandleException(action)) { return(RedirectToAction(controllerName: "ZetaCode", actionName: "Index")); } var zetaCodeNormalIplik = model.NormalIplik; FillCollections(model , sirketId: zetaCodeNormalIplik.SirketId , ulkeId: zetaCodeNormalIplik.UlkeId , pantoneRenkId: zetaCodeNormalIplik.PantoneId ?? 0 , renkId: zetaCodeNormalIplik.Renkid ?? 0 , uretimTeknolojitermId: zetaCodeNormalIplik.UretimTeknolojisiId ?? 0); return(View(viewName: "Edit", model: model)); }