public async Task <ActionResult> AddEndPosition(WorkEndDate workEndDate) { if (ModelState.IsValid) { var data = HttpContext.Session.GetObjectFromJson <Employee>("Employ"); var empPosition = dbContext.Placeswork .Where(x => x.EmployeeId == data.Id) .Include(y => y.Positions) .ThenInclude(z => z.EmployeeSalaries) .FirstOrDefault(); WorkEndDate workEnd = new WorkEndDate() { EmployeeId = data.Id, EndDate = workEndDate.EndDate, Salary = empPosition.Positions.EmployeeSalaries.Salary, IsCalcDate = false }; await dbContext.WorkEnds.AddAsync(workEnd); await dbContext.SaveChangesAsync(); ModelState.AddModelError("", "Success"); } return(View()); }
public async Task <ActionResult> ChangePlaceEmployee(WorkPlaceModel workPlace) { if (ModelState.IsValid) { try { var empId = HttpContext.Session .GetObjectFromJson <Employee>("Employe").Id; if (empId == 0) { return(NotFound()); } var EmployeeWork = dbContext .Placeswork .Where(x => x.EmployeeId == empId) .Include(x => x.Positions) .ThenInclude(x => x.EmployeeSalaries) .FirstOrDefault(); if (EmployeeWork != null) { if (EmployeeWork.StarDate.Month == workPlace.StartDate.Month) { if (EmployeeWork.StarDate.Day > workPlace.StartDate.Day) { ModelState.AddModelError("", "There was no such employee in our company at that date"); return(View()); } } if (DateTime.Now.Day <= workPlace.StartDate.Day) { using (var transaction = await dbContext.Database.BeginTransactionAsync()) { EmployeeWork.EmporiumId = (int)options.Value.EmporiumId; EmployeeWork.PositionsId = (int)options.Value.PositionsId; EmployeeWork.EmployeeId = empId; dbContext.Placeswork.Update(EmployeeWork); WorkEndDate endDate = new WorkEndDate() { EmployeeId = empId, EndDate = workPlace.StartDate, PositionName = EmployeeWork.Positions.Name, Salary = EmployeeWork.Positions.EmployeeSalaries.Salary }; await dbContext.WorkEnds.AddAsync(endDate); await dbContext.SaveChangesAsync(); transaction.Commit(); ModelState.AddModelError("", "Success"); return(View()); } } else { ModelState.AddModelError("", "There will be no change to the past history."); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); } } return(View()); }