Пример #1
0
        public async Task <IActionResult> EditWorkStock(EditWorkStockView details)
        {
            AppUser user = await userManager.FindByNameAsync(User.Identity.Name);

            Company   companyUser = userCompanyRepository.CompanyToUser(user.Id);
            WorkStock workStock   = workStockRepository.DisplayWorkStock(companyUser).Where(p => p.Id == details.SelectedWorkStock).
                                    FirstOrDefault();
            Tabaco       tabaco       = tabacosRepository.Tabacos.Where(x => x.Id == details.TabacoId).FirstOrDefault();
            CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(companyUser)
                                        .Where(p => string.Equals(p.TabacoName, workStock.NameTabaco) && p.TabacoBundleWeigh == workStock.BundleTabacoWeigh)
                                        .FirstOrDefault();
            CompanyStock newCompanyStock = companyStockRepository.DisplayCompanyStock(companyUser).Where(p =>
                                                                                                         string.Equals(p.TabacoName, tabaco.Name) && p.TabacoBundleWeigh == tabaco.NominalWeigth).FirstOrDefault();

            if (workStock != null && companyStock != null && newCompanyStock != null)
            {
                workStockRepository.DeleteWorkStock(workStock);
                workStockRepository.AddWorkStock(new WorkStock
                {
                    Company           = companyUser,
                    NameTabaco        = tabaco.Name,
                    BundleTabacoWeigh = tabaco.NominalWeigth,
                    CountTabacoPack   = details.CountTabacoPack,
                    TabacoWeigh       = details.TabacoWeigth,
                    Data         = DateTime.Now,
                    HookahMaster = User.Identity.Name
                });
                companyStock.TabacoCount = companyStock.TabacoCount + workStock.CountTabacoPack;
                companyStockRepository.EditCompanyStock(companyStock);
                newCompanyStock.TabacoCount -= details.CountTabacoPack;
                companyStockRepository.EditCompanyStock(newCompanyStock);
            }
            return(RedirectToAction("ShowWorkStock", "Display"));
        }
Пример #2
0
        public async Task <IActionResult> RegistCompany(ViewRegistrCompany details)
        {
            Company company = new Company {
                Name = details.CompanyName
            };

            companyRepository.Add(company);

            CompanyStock companyStock = new CompanyStock
            {
                Company           = company,
                TabacoName        = details.TabacoNameSt,
                TabacoBundleWeigh = details.TabacoBundleWeithSt,
                TabacoCount       = details.TabacoCountSt
            };

            companyStockRepository.AddCompStock(companyStock);

            WorkStock workStock = new WorkStock
            {
                Company      = company,
                NameTabaco   = details.WSTabacoName,
                TabacoWeigh  = details.WSTabacoWeigth,
                HookahMaster = User.Identity.Name
            };

            workStockRepository.AddWorkStock(workStock);
            AppUser appUser = await userManager.FindByNameAsync(details.UserName);

            if (appUser != null)
            {
                UserCompany userCompany = new UserCompany {
                    Company = company, UserId = appUser.Id
                };
                userCompanyRepository.AddUserCompany(userCompany);
            }
            return(RedirectToAction("RegisterUser", "Account"));
        }
        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
                    }));
                }
            }
        }