public async Task <IActionResult> ShowWorkStock()
        {
            AppUser user = await userManager.FindByNameAsync(User.Identity.Name);

            var result = workStockRepository.DisplayWorkStock(userCompanyRepository.CompanyToUser(user.Id));

            return(View(result));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> EditWorkStock()
        {//доработать віпадающий список с именем табака и фасовкой добавить в модель табака поле фосовки
            AppUser user = await userManager.FindByNameAsync(User.Identity.Name);

            Company company = userCompanyRepository.CompanyToUser(user.Id);
            IEnumerable <Tabaco> tabacos     = tabacosRepository.Tabacos.ToList();
            List <ViewTabaco>    viewTabacos = new List <ViewTabaco>();

            if (tabacos != null)
            {
                foreach (Tabaco tb in tabacos)
                {
                    viewTabacos.Add(new ViewTabaco {
                        Id = tb.Id, Name = tb.Name, TabacoBundleWeige = tb.NominalWeigth
                    });
                }
            }
            IEnumerable <WorkStock> workStock      = workStockRepository.DisplayWorkStock(company).Where(p => p.NameTabaco != "REDISCOUNT");
            List <ViewWorkStock>    workStocksList = new List <ViewWorkStock>();

            if (workStock != null)
            {
                foreach (WorkStock ws in workStock)
                {
                    workStocksList.Add(new ViewWorkStock
                    {
                        TabacoName      = ws.NameTabaco,
                        Id              = ws.Id,
                        CompanyId       = ws.CompanyId,
                        Data            = ws.Data,
                        TabacoWeigh     = ws.TabacoWeigh,
                        CountTabacoPack = ws.CountTabacoPack,
                        HookahMaster    = ws.HookahMaster
                    });
                }
            }
            return(View(new EditWorkStockView {
                workStocks = workStocksList, Tabacos = viewTabacos
            }));
        }
        public async Task <IActionResult> RedisCount(ViewRedisCount details)
        {
            AppUser user = await userManager.FindByNameAsync(User.Identity.Name);

            Company   company        = userCompanyRepository.CompanyToUser(user.Id);
            WorkStock lastRediscount = workStockRepository.DisplayWorkStock(userCompanyRepository.CompanyToUser(user.Id)).Where(
                p => p.NameTabaco == "REDISCOUNT").LastOrDefault();

            if (lastRediscount != null)
            {
                int sumTabacoWeigh = workStockRepository.DisplayWorkStock(userCompanyRepository.CompanyToUser(user.Id)).Where(
                    p => lastRediscount.Data <= p.Data).Sum(p => p.TabacoWeigh);
                int useTabaco            = details.CountHookah * details.Gramovka;
                int teorFinalTabacoWeigh = sumTabacoWeigh - useTabaco;
                workStockRepository.AddWorkStock(new WorkStock
                {
                    Company     = lastRediscount.Company,
                    NameTabaco  = "REDISCOUNT",
                    TabacoWeigh = details.FinalTabacoWeigh,
                    Data        = DateTime.Now
                });
                if (teorFinalTabacoWeigh > details.FinalTabacoWeigh)
                {
                    int disadvantege = teorFinalTabacoWeigh - details.FinalTabacoWeigh;
                    int disHookah    = disadvantege / details.Gramovka;
                    return(View("ResultRediscount", new ViewResultRediscount {
                        UsedTabaco = useTabaco,
                        Disadvantage = disadvantege, DisadvantageHookah = disHookah
                    }));
                }
                else
                {
                    int excess = details.FinalTabacoWeigh - teorFinalTabacoWeigh;
                    return(View("ResultRediscount", new ViewResultRediscount {
                        UsedTabaco = useTabaco, Excess = excess
                    }));
                }
            }
            else
            {
                int sumTabacoWeigh = workStockRepository.DisplayWorkStock(userCompanyRepository.CompanyToUser(user.Id)).Sum(
                    p => p.TabacoWeigh);
                int useTabaco = details.CountHookah * details.Gramovka;
                workStockRepository.AddWorkStock(new WorkStock
                {
                    Company     = company,
                    NameTabaco  = "REDISCOUNT",
                    TabacoWeigh = details.FinalTabacoWeigh,
                    Data        = DateTime.Now
                });
                int teorFinalTabacoWeigh = sumTabacoWeigh - useTabaco;

                if (teorFinalTabacoWeigh > details.FinalTabacoWeigh)
                {
                    int disadvantege = teorFinalTabacoWeigh - details.FinalTabacoWeigh;
                    int disHookah    = disadvantege / details.Gramovka;
                    return(View("ResultRediscount", new ViewResultRediscount
                    {
                        UsedTabaco = useTabaco,
                        Disadvantage = disadvantege,
                        DisadvantageHookah = disHookah
                    }));
                }
                else
                {
                    int excess = details.FinalTabacoWeigh - teorFinalTabacoWeigh;
                    return(View("ResultRediscount", new ViewResultRediscount {
                        UsedTabaco = useTabaco, Excess = excess
                    }));
                }
            }
        }