/// <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();
        }
Exemple #2
0
        /// <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);
        }