示例#1
0
        public MakeSachetViewModel GenereteSacheteForm()
        {
            IEnumerable <ClientPrefix> prefixes = this.Context.ClientPrefixes.OrderBy(p => p.PrefixName);

            if (!prefixes.Any())
            {
                var prefix = new ClientPrefix()
                {
                    PrefixName = "SF"
                };
                this.Context.ClientPrefixes.Add(prefix);
                this.Context.SaveChanges();
                prefixes = this.Context.ClientPrefixes.OrderBy(p => p.PrefixName);
            }


            IEnumerable <ClientPrefixViewModel> prefixesVm =
                Mapper.Map <IEnumerable <ClientPrefix>, IEnumerable <ClientPrefixViewModel> >(prefixes);

            MakeSachetViewModel vm = new MakeSachetViewModel();

            vm.ClientPrefixes = prefixesVm;

            return(vm);
        }
示例#2
0
        public void AssignPrefixes(AssignPrefixBm assignPrefixBm)
        {
            SugarUser user = this.Context.SugarUsers.FirstOrDefault(u => u.Id == assignPrefixBm.Id);

            if (user == null)
            {
                user = this.Context.SugarUsers.FirstOrDefault();
            }

            user.ClientPrefix = assignPrefixBm.ClientPrefix;
            this.Context.SugarUsers.AddOrUpdate(user);
            this.Context.SaveChanges();

            var prefForUpdate =
                this.Context.ClientPrefixes.FirstOrDefault(p => p.PrefixName == assignPrefixBm.ClientPrefix);

            if (prefForUpdate == null)
            {
                prefForUpdate            = new ClientPrefix();
                prefForUpdate.PrefixName = "DEF";
            }

            prefForUpdate.SugarUser = user;
            this.Context.ClientPrefixes.AddOrUpdate(prefForUpdate);
            this.Context.SaveChanges();
        }
示例#3
0
        public void CreatePrefix(CreatePrefixBm createPrefixBm)
        {
            ClientPrefix prefix = new ClientPrefix();

            prefix.PrefixName = createPrefixBm.PrefixName.ToUpper();

            this.Context.ClientPrefixes.Add(prefix);

            this.Context.SaveChanges();
        }
示例#4
0
        public void CreatePrefix(CreatePrefixBm createPrefixBm)
        {
            ClientPrefix prefix = new ClientPrefix();
            SugarUser    admin  = this.Context.SugarUsers.Find(1);

            prefix.PrefixName = createPrefixBm.PrefixName.ToUpper();

            this.Context.ClientPrefixes.Add(prefix);
            try
            {
                this.Context.SaveChanges();
            }
            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Debug.WriteLine("Entity of type {0}  in state {1} has the following validation errors: ",
                                    eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                        ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }
            catch (DbUpdateException exe)
            {
                var sb = new StringBuilder();
                sb.AppendLine($"DbUpdateException error details - {exe?.InnerException?.InnerException?.Message}");

                foreach (var eve in exe.Entries)
                {
                    sb.AppendLine($"Entity of type {eve.Entity.GetType().Name} in state {eve.State} could not be updated");
                }

                var result = sb.ToString();

                throw;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
                throw;
            }
        }
示例#5
0
        public void CreateSachet(MakeSachetBm makeSachetBm)
        {
            Counter      lastCounter;
            ClientPrefix prefix = this.Context.ClientPrefixes.FirstOrDefault(pr => pr.PrefixName == makeSachetBm.ClientPrefix);

            if ((lastCounter = this.Context.Counters.OrderByDescending(c => c.Id).FirstOrDefault()) == null)
            {
                lastCounter       = new Counter();
                lastCounter.Value = 1;
            }

            SugarSachet sugarModel = new SugarSachet();

            sugarModel = Mapper.Map <MakeSachetBm, SugarSachet>(makeSachetBm);

            sugarModel.ClientPrefix = prefix;


            HttpPostedFileBase fileImg = makeSachetBm.ImgFile;
            HttpPostedFileBase filePdf = makeSachetBm.PdfFile;

            if (fileImg.ContentLength > 0)
            {
                string imgName = Path.GetFileName(fileImg.FileName);

                if (!imgName.EndsWith(".jpg") && !imgName.EndsWith(".png"))
                {
                    throw new ArgumentNullException();
                }

                string pathImg = Path.Combine(HttpContext.Current.Server.MapPath("~/UploadedFiles"), imgName);
                fileImg.SaveAs(pathImg);
            }

            if (filePdf.ContentLength > 0)
            {
                string pdfName = Path.GetFileName(filePdf.FileName);

                if (!pdfName.EndsWith(".pdf"))
                {
                    throw new ArgumentNullException();
                }

                string pathPdf = Path.Combine(HttpContext.Current.Server.MapPath("~/UploadedFiles"), pdfName);

                filePdf.SaveAs(pathPdf);
            }

            sugarModel.ImageUrl = makeSachetBm.ImgFile.FileName;

            sugarModel.PdfUrl = makeSachetBm.PdfFile.FileName;

            sugarModel.UniqueNumber = makeSachetBm.ClientPrefix + "/" + makeSachetBm.PaperWidth.ToString() + "/" +
                                      lastCounter.Value.ToString();

            lastCounter.Value++;
            this.Context.Counters.Add(lastCounter);
            this.Context.SaveChanges();
            this.Context.SugarSachets.Add(sugarModel);
            this.Context.SaveChanges();
        }