Beispiel #1
0
        public void Create(FullUser fullUser)
        {
            if (
                fullUser.IsValid() &&
                fullUser.Worker.IsValid(_workerServices.Read().Select(x => x.PassportNumber).ToList()) &&
                (fullUser?.User?.IsValid(_userServices.Read().Select(y => y.Login).ToList()) ?? true)
                )
            {
                try
                {
                    _workerServices.Create(fullUser.Worker);
                }
                catch (Exception)
                {
                    throw;
                }
                if (fullUser.User != null)
                {
                    fullUser.User = _userServices.Create(fullUser.User);

                    foreach (var item in fullUser.Roles)
                    {
                        _userRoleServices.Create(new UserRole()
                        {
                            UserId = fullUser.User.Id, RoleId = item.Id
                        });
                    }
                }
            }
        }
Beispiel #2
0
        public ActionResult EditWorkersInformation()
        {
            FullUser      user    = HttpContext.Session.GetJson <FullUser>("user");
            List <Worker> workers = _workerServises.Read().Where(x => x.Equals(user.Worker) == false).ToList();

            return(View("WorkersList", workers));
        }
        public IActionResult MakingAnOrder()
        {
            Cart cart = new Cart();

            cart.GetFromCoockie(HttpContext);
            if ((cart?.OrderLine?.Count() ?? 0) == 0)
            {
                ModelState.AddModelError("", "The shopping cart is empty");
                return(RedirectToAction("ShowCart", "Cart"));
            }
            List <Worker>   workers = _workerServises.Read();
            List <FullUser> users   = new List <FullUser>();

            foreach (var item in workers)
            {
                users.Add(_fullUserServices.Read(item.PassportNumber));
            }

            ViewData["Master"]  = users.Where(x => x.Roles.Count(y => y.Title.Equals("Master")) != 0);
            ViewData["Manager"] = users.Where(x => x.Roles.Count(y => y.Title.Equals("Manager")) != 0);
            ViewData["Client"]  = _clientServices.Read();
            FullUser user = new FullUser();

            user.GetUserFromCookie(HttpContext);
            ViewBag.ManagerId = user.Worker.PassportNumber;

            return(View());
        }
        public Dictionary <Worker, decimal> GetInformationAboutProfitByMasters(DateTime?from, DateTime?to)
        {
            List <Order> orders = _orderServices.ReadComplitedOrders(from, to);

            var grouped = orders.GroupBy(x => x.MasterId);

            List <Worker> workers = new List <Worker>();

            foreach (var item in grouped)
            {
                Worker worker = _workerServices.Read(minPassportNumber: item.Key, maxPassportNumber: item.Key).FirstOrDefault();
                if (worker != null)
                {
                    workers.Add(worker);
                }
            }
            Dictionary <Worker, decimal> result = new Dictionary <Worker, decimal>();

            grouped.ToList().ForEach(x => result.Add(workers.Find(y => y.PassportNumber == x.Key), x.Sum(z => GetProfitFromOneOrder(z))));
            return(result);
        }