public async Task <IActionResult> AddTabacoToWorkStock(AddTabacoToWorkStock details) { //добавить вылезающие ошибки при вводе некоректной инфи AppUser user = await userManager.FindByNameAsync(User.Identity.Name); Company companyUser = userCompanyRepository.CompanyToUser(user.Id); CompanyStock companyStock = companyStockRepository.DisplayCompanyStock(companyUser) .Where(p => p.Id == details.SelectedCompanyStock).FirstOrDefault(); if (companyStock.TabacoCount > details.CountTabacoPack) { companyStock.TabacoCount -= details.CountTabacoPack; companyStockRepository.EditCompanyStock(companyStock); workStockRepository.AddWorkStock(new WorkStock { Company = companyStock.Company, NameTabaco = companyStock.TabacoName, TabacoWeigh = details.TabacoWeigth, Data = DateTime.Now, HookahMaster = User.Identity.Name, CountTabacoPack = details.CountTabacoPack, BundleTabacoWeigh = companyStock.TabacoBundleWeigh }); } return(RedirectToAction("ShowWorkStock", "Display")); }
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 })); } } }