예제 #1
0
        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);
        }
예제 #2
0
 public ZetaCodeNormalIplikCardVm()
 {
     Container = new NormalIplikContainerDto();
 }
예제 #3
0
        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));
        }