public async Task <PartialViewResult> CreateOrEditSupervisorModal(int?id, int employeeId) { var output = new SupervisorDto(); if (id != null) { output = _employeeService.GetSupervisor(new GetSupervisorInput { SupervisorId = id.Value }); } var viewModel = new CreateOrEditSupervisorModel(output, id == null || id == 0); ViewBag.EmployeeId = employeeId; ViewBag.ReportMethods = new SelectList(new List <EmployeeReportMethod> { EmployeeReportMethod.Direct, EmployeeReportMethod.Inderect, EmployeeReportMethod.Others }); ViewBag.Employees = new SelectList(_employeeService.GetEmployees().Where(e => e.Id != employeeId).OrderBy(e => e.Fullname), "Id", "Fullname", output.EmployeeId); return(PartialView("EmployeeDetail/Supervisors/_CreateOrEditSupervisorModal", viewModel)); }
private void ValidateSupervisor(SupervisorDto supervisorDto, long adminId) { if (string.IsNullOrEmpty(supervisorDto.UserName)) { throw new ValidationException(ErrorCodes.EmptyUserName); } if (supervisorDto.UserName.Length > 100) { throw new ValidationException(ErrorCodes.NameExceedLength); } if (string.IsNullOrEmpty(supervisorDto.Password)) { throw new ValidationException(ErrorCodes.EmptyPassword); } if (supervisorDto.Password.Length < 8 || supervisorDto.Password.Length > 25) { throw new ValidationException(ErrorCodes.PasswordLengthNotMatched); } if (_supervisorService.CheckUserNameDuplicated(supervisorDto.UserName, supervisorDto.UserId, adminId)) { throw new ValidationException(ErrorCodes.UserNameAlreadyExist); } if (_receptionistService.CheckUserNameDuplicated(supervisorDto.UserName, supervisorDto.UserId, adminId)) { throw new ValidationException(ErrorCodes.UserNameAlreadyExist); } if (_roomService.CheckUserNameDuplicated(supervisorDto.UserName, supervisorDto.UserId, adminId)) { throw new ValidationException(ErrorCodes.UserNameAlreadyExist); } }
public void UpdateSupervisor(SupervisorDto supervisorDto, long adminId) { var supervisor = _supervisorService.Find(supervisorDto.UserId); if (supervisor == null) { throw new NotFoundException(ErrorCodes.UserNotFound); } ValidateSupervisor(supervisorDto, adminId); supervisor.UserName = supervisorDto.UserName; supervisor.Password = PasswordHelper.Encrypt(supervisorDto.Password); SupervisorFeature[] features = new SupervisorFeature[supervisor.SupervisorFeatures.Count]; supervisor.SupervisorFeatures.CopyTo(features, 0); _supervisorFeatureService.DeleteRange(features.ToList()); foreach (var feature in supervisorDto.Features) { supervisor.SupervisorFeatures.Add(new SupervisorFeature { FeatureId = feature.FeatureId }); } _supervisorService.Update(supervisor); SaveChanges(); }
public void AddSupervisor(SupervisorDto supervisorDto, long adminId) { ValidateSupervisor(supervisorDto, adminId); var user = _UserService.Find(adminId); if (user == null) { throw new NotFoundException(ErrorCodes.UserNotFound); } Supervisor supervisor = Mapper.Map <Supervisor>(supervisorDto); supervisor.AdminId = adminId; supervisor.Password = PasswordHelper.Encrypt(supervisorDto.Password); supervisor.Role = Enums.RoleType.Supervisor; supervisor.IsActive = true; foreach (var feature in supervisorDto.Features) { supervisor.SupervisorFeatures.Add(new SupervisorFeature { FeatureId = feature.FeatureId }); } _supervisorFeatureService.InsertRange(supervisor.SupervisorFeatures); _supervisorService.Insert(supervisor); SaveChanges(); }
public OutputBase AddSupervisor(SupervisorDto supervisor) { if ( _supervisorRepository.Query( q => q.Any(s => s.EmployeeId == supervisor.EmployeeId && s.SupervisorId == supervisor.SupervisorId))) { return(new OutputBase { Message = "The selected Supervisor hase already been added for this Employee", Success = false }); } _supervisorRepository.Insert(Mapper.Map <Supervisor>(supervisor)); return(new OutputBase { Message = "Save successfully", Success = true }); }
public CreateOrEditSupervisorModel(SupervisorDto input, bool isNew) { IsEditMode = !isNew; Supervisor = input; }