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")); }
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 })); } } }