예제 #1
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();
        }
예제 #2
0
        public void AssignPrefixes(AssignPrefixBm assignPrefixBm)
        {
            SugarUser user = this.Context.SugarUsers.FirstOrDefault(u => u.Id == assignPrefixBm.Id);

            user.ClientPrefix = assignPrefixBm.ClientPrefix;
            this.Context.SugarUsers.AddOrUpdate(user);
            this.Context.SaveChanges();
        }
예제 #3
0
        public void CreateSugarUser(ApplicationUser user)
        {
            SugarUser       sugarUser = new SugarUser();
            ApplicationUser appUser   = this.Context.Users.Find(user.Id);

            sugarUser.User = appUser;
            this.Context.SugarUsers.Add(sugarUser);
            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 IEnumerable <AllSachetsViewModel> GetAllSachet(IPrincipal user)
        {
            IEnumerable <SugarSachet> sachetEntity;
            var userName = user.Identity.Name;

            SugarUser sugarUser = this.Context.SugarUsers.FirstOrDefault(u => u.User.Email == userName);

            if (user.IsInRole("Admin") || user.IsInRole("Manager"))
            {
                sachetEntity = this.Context.SugarSachets.OrderBy(s => s.ClientPrefix.PrefixName);
                IEnumerable <AllSachetsViewModel> mapped =
                    Mapper.Map <IEnumerable <SugarSachet>, IEnumerable <AllSachetsViewModel> >(sachetEntity);
                return(mapped);
            }
            else
            {
                sachetEntity = this.Context.SugarSachets.Where(s => s.ClientPrefix.PrefixName == sugarUser.ClientPrefix).OrderBy(s => s.UniqueNumber);
                IEnumerable <AllSachetsViewModel> mapped =
                    Mapper.Map <IEnumerable <SugarSachet>, IEnumerable <AllSachetsViewModel> >(sachetEntity);
                return(mapped);
            }
        }
예제 #6
0
        public IEnumerable <OrderViewModel> GetOrders(ControllerContext contContext)
        {
            var userId = contContext.HttpContext.User.Identity.GetUserId();

            SugarUser           activeSugarUser = this.Context.SugarUsers.FirstOrDefault(u => u.User.Id == userId);
            var                 cont            = contContext.HttpContext.User;
            IEnumerable <Order> orders;



            if (cont.IsInRole("Admin") || cont.IsInRole("Manager"))
            {
                orders = this.Context.Orders;
            }
            else
            {
                orders = this.Context.Orders.Where(c => c.ClientPrefix == activeSugarUser.ClientPrefix);
            }

            IEnumerable <OrderViewModel> mapped = Mapper.Map <IEnumerable <Order>, IEnumerable <OrderViewModel> >(orders);

            return(mapped);
        }