public async Task <ActionResult> AddManager(AddManagerViewModel project) { string token = Request.Headers["Authorization"]; var userID = JWTExtensions.GetDecodeTokenByProperty(token, "nameid").ToInt(); project.UserID = userID; var model = await _projectService.AddManager(project); await _hubContext.Clients.All.SendAsync("ReceiveMessage", model.Item2, "message"); return(Ok(model.Item1)); }
public IActionResult AddManager() { var model = new AddManagerViewModel { AddWorkerDto = new AddWorkerDto(), GenderNamesSelectItems = new List <SelectListItem> { new SelectListItem { Text = "Cinsiyet", Value = "0" } } }; foreach (var gender in _genderDal.GetList()) { model.GenderNamesSelectItems.Add(new SelectListItem { Text = gender.GenderName, Value = gender.GenderId.ToString() }); } return(View(model)); }
public async Task <Tuple <bool, string> > AddManager(AddManagerViewModel addManager) { try { var listUsers = new List <int>(); if (addManager.Users.Length > 0) { //get old manager list var oldManagers = await _managerRepository.FindAll().Where(x => x.ProjectID == addManager.ProjectID).Select(x => x.UserID).ToArrayAsync(); //new manager list from client var newManagers = addManager.Users; //get value of old managers list without value in new manager list var withOutInOldManagers = newManagers.Except(oldManagers).ToArray(); if (withOutInOldManagers.Length > 0) { var managers = new List <Manager>(); foreach (var pic in withOutInOldManagers) { managers.Add(new Manager { UserID = pic, ProjectID = addManager.ProjectID }); } await _managerRepository.AddMultipleAsync(managers); var project = await _projectRepository.FindByIdAsync(addManager.ProjectID); var user = await _userRepository.FindByIdAsync(addManager.UserID); string urlResult = $"/project/detail/{project.ID}"; var message = $"The {user.Username.ToTitleCase()} account has assigned you as manager of {project.Name} project"; var notify = new CreateNotifyParams { AlertType = AlertType.Manager, Message = message, Users = withOutInOldManagers.Distinct().ToList(), URL = urlResult, UserID = addManager.UserID }; var addNotify = _mapper.Map <Notification>(notify); await _notificationRepository.AddAsync(addNotify); listUsers.AddRange(withOutInOldManagers); } else { //Day la userID se bi xoa var withOutInNewManagers = oldManagers.Where(x => !newManagers.Contains(x)).ToArray(); var listDeleteManagers = await _managerRepository.FindAll().Where(x => withOutInNewManagers.Contains(x.UserID) && x.ProjectID.Equals(addManager.ProjectID)).ToListAsync(); _managerRepository.RemoveMultiple(listDeleteManagers); } } await _unitOfWork.Commit(); return(Tuple.Create(true, string.Join(",", listUsers.Distinct().ToArray()))); } catch (Exception) { return(Tuple.Create(false, "")); } }
public AddManagerView() { InitializeComponent(); DataContext = new AddManagerViewModel(this); }
public IActionResult AddManager(AddWorkerDto addWorkerDto) { var model = new AddManagerViewModel { AddWorkerDto = addWorkerDto, GenderNamesSelectItems = new List <SelectListItem> { new SelectListItem { Text = "Cinsiyet", Value = "0" } } }; foreach (var gender in _genderDal.GetList()) { model.GenderNamesSelectItems.Add(new SelectListItem { Text = gender.GenderName, Value = gender.GenderId.ToString() }); } if (addWorkerDto.GenderId == 0) { TempData.Add(TempDataTypes.GenderError, Messages.MustBeFilled); return(View(model)); } if (addWorkerDto.BirthDateDay.Equals("0") || addWorkerDto.BirthDateMounth.Equals("0") || addWorkerDto.BirthDateYear.Equals("0")) { TempData.Add(TempDataTypes.BirthdayError, Messages.MustBeFilled); return(View(model)); } if (!ModelState.IsValid) { return(View(model)); } var userForRegister = new UserForRegisterDto { Email = addWorkerDto.Email, GenderId = addWorkerDto.GenderId, LastName = addWorkerDto.LastName, FirstName = addWorkerDto.FirstName, Password = addWorkerDto.Password, PhoneNumber = addWorkerDto.PhoneNumber }; var result = _authService.Register(userForRegister, userForRegister.Password); if (!result.Success) { return(RedirectToAction("InternalError", "Error", new { errorMessage = result.Message })); } var user = _userService.GetByMail(addWorkerDto.Email).Data; var worker = new Worker { AddressNumber = addWorkerDto.AddressNumber, IdentityNo = addWorkerDto.IdentityNo, Street = addWorkerDto.Street, CityId = addWorkerDto.CityId, DistrictId = addWorkerDto.DistrictId, BirthDate = new DateTime(Convert.ToInt32(addWorkerDto.BirthDateYear), Convert.ToInt32(addWorkerDto.BirthDateMounth), Convert.ToInt32(addWorkerDto.BirthDateDay), 0, 0, 0), WorkerId = user.Id }; var result2 = _workerService.AddManager(worker); if (!result2.Success) { return(RedirectToAction("InternalError", "Error", new { errorMessage = result2.Message })); } TempData.Add(TempDataTypes.ManageInfo, Messages.ManagerAddedSuccessfully); return(RedirectToAction("Index", "User")); }