/// <summary> /// Edits user details /// </summary> /// <param name="model">EditUserServiceModel which is a DTO which contains the needed info for this operations</param> /// <returns></returns> public async Task EditUserDetailsAsync(EditUserServiceModel model) { var user = await data.Users.Where(e => e.Id == model.EmployeeId).FirstOrDefaultAsync(); user.FirstName = model.FirstName; user.MiddleName = model.MiddleName; user.LastName = model.LastName; user.HireDate = model.HireDate; user.Salary = model.Salary; user.JobTitleId = model.JobTitleId; user.DepartmentId = model.DepartmentId; user.ManagerId = model.ManagerId; if (model.IsManager) { await userManager.RemoveFromRoleAsync(user, "Employee"); await userManager.AddToRoleAsync(user, "Manager"); } else if (model.IsEmployee) { await userManager.RemoveFromRoleAsync(user, "Manager"); await userManager.AddToRoleAsync(user, "Employee"); } data.SaveChanges(); }
/// <summary> /// Creates View model for the acion /// </summary> /// <param name="model">EditUserViewModel which is a DTO which contains the needed info for this operations</param> /// <returns> EditUserServiceModel which is a DTO which contains the needed info for this operations</returns> public EditUserServiceModel EditUser(EditUserViewModel model) { var editUserServiceModel = new EditUserServiceModel() { FirstName = model.FirstName, MiddleName = model.MiddleName, LastName = model.LastName, Salary = model.Salary, HireDate = model.HireDate, IsEmployee = model.IsEmployee, IsManager = model.IsManager }; if (!jobTitleDataService.Exists(model.JobTitle)) { jobTitleDataService.CreateJobTitile(model.JobTitle); editUserServiceModel.JobTitleId = jobTitleDataService.FindByName(model.JobTitle).Id; } else { editUserServiceModel.JobTitleId = jobTitleDataService.FindByName(model.JobTitle).Id; } if (!depatmentDataService.Exists(model.Department)) { depatmentDataService.Create(model.Department); editUserServiceModel.DepartmentId = depatmentDataService.FindByName(model.Department).DepartmentId; } else { editUserServiceModel.DepartmentId = depatmentDataService.FindByName(model.Department).DepartmentId; } return(editUserServiceModel); }