public ActionResult CreateIncome() { var model = new CreateIncomeModel() { DeskGroups = from d in _db.DeskGroups.Where(g => g.IsActive).OrderBy(g => g.Name) select new SelectListItem { Value = d.DeskGroupId.ToString(), Text = d.Name } }; return(PartialView(model)); }
public async Task <ActionResult> CreateIncome(CreateIncomeModel model) { var nfi = (NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone(); nfi.NumberGroupSeparator = " "; //var officeRole = _db.Roles.SingleOrDefault(r => r.Name.Contains("Офис")); //var office = _db.Users.FirstOrDefault(u => u.Roles.Any(r => r.RoleId == officeRole.Id)); //if (office == null) return RedirectToAction("IncomeSummary"); //var otherSum = decimal.Parse(_db.SettingsValues.FirstOrDefault(sv => sv.Key == "OtherSum").Value // .Replace(" ", string.Empty), CultureInfo.InvariantCulture); //var remainder = model.Amount; //if (otherSum > 0) //{ // _db.SettingsValues.FirstOrDefault(sv => sv.Key == "OtherSum").Value = otherSum >= model.Amount // ? (otherSum - model.Amount).ToString("#,0", nfi) // : (0).ToString("#,0", nfi); //} var income = new Income { Name = model.Name, Amount = model.Amount, DeskGroupId = model.SelectedDeskGroupId }; var operation = new IncomeOperation { Income = income, OperationDateTime = DateTime.Now, OperationTypeId = IncomeOperation.IOType.New }; //var user = await _userManager.FindByIdAsync(_userManager.GetUserId(User)); using (var transaction = await _db.Database.BeginTransactionAsync()) { _db.IncomeOperations.Add(operation); //_db.SetUserContext(user.Id); await _db.SaveChangesAsync(); transaction.Commit(); } return(RedirectToAction("IncomeSummary")); }