protected void buttonCreateProjectManager_Click(object sender, EventArgs e) { try { var newProjectManager = new CreateNewProjectManagerDTO(); if (!string.IsNullOrWhiteSpace(ProjectManager_Password.Text) && !string.IsNullOrWhiteSpace(ProjectManager_Password2.Text)) { if (ProjectManager_Password.Text != ProjectManager_Password2.Text) { throw new Exception("Şifre bilgisi uyuşmuyor!"); } } newProjectManager.UserTypeId = (int)EnumUserType.ProjectManager; newProjectManager.FirstName = ProjectManager_FirstName.Text; newProjectManager.LastName = ProjectManager_LastName.Text; newProjectManager.BirthDate = ProjectManager_BirthDate.SelectedDate.Value; newProjectManager.PhoneNum = ProjectManager_Phone.Text; newProjectManager.Username = ProjectManager_TCKN.Text; newProjectManager.Email = ProjectManager_Email.Text; newProjectManager.Password = ProjectManager_Password.Text; newProjectManager.Password = ProjectManager_Password.Text; newProjectManager.DutyStartDate = ProjectManager_DutyStartDate.SelectedDate.Value; ServiceResult <long> serviceResult = new ServiceResult <long>(); var queryString = new Dictionary <string, string>(); var response = ApiHelper.CallSendApiMethod(ApiKeys.AccountApiUrl, "CreateNewProjectManager", queryString, newProjectManager); if (!response.IsSuccessStatusCode) { throw new Exception("Hata oluştu!"); } var data = response.Content.ReadAsStringAsync().Result; serviceResult = JsonConvert.DeserializeObject <ServiceResult <long> >(data); if (serviceResult.ServiceResultType != EnumServiceResultType.Success) { throw new Exception(serviceResult.ErrorMessage); } labelErrorMessage.Text = "Proje yöneticisi üyeliği oluşturuldu."; labelErrorMessage.Visible = true; } catch (Exception ex) { labelErrorMessage.Text = ex.Message; labelErrorMessage.Visible = true; } }
public ServiceResult <long> CreateNewProjectManager(CreateNewProjectManagerDTO model) { string errorMessage = string.Empty; EnumServiceResultType serviceResultType = EnumServiceResultType.Unspecified; long result = -1; try { var anyExistingUser = _userRepository.Entities.Any(p => p.Username == model.Username && p.Email == model.Email && p.IsActive); if (anyExistingUser) { throw new Exception("Kullanıcı bilgisi mevcut."); } var newUser = new Contracts.Entities.EF.User { IsActive = true, Password = model.Password, Username = model.Username, UserTypeId = model.UserTypeId, Email = model.Email }; var newProjectManager = new ProjectManager { FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNum }; newUser.ProjectManager.Add(newProjectManager); var userResult = _userRepository.Add(newUser); _unitOfWork.SaveChanges(); result = userResult.Id; serviceResultType = EnumServiceResultType.Success; } catch (Exception ex) { errorMessage = ex.Message; serviceResultType = EnumServiceResultType.Error; } return(new ServiceResult <long> { ErrorMessage = errorMessage, Result = result, ServiceResultType = serviceResultType }); }
public IHttpActionResult CreateNewProjectManager(CreateNewProjectManagerDTO model) { if (!Request.Headers.Contains("apiKey")) { return(Unauthorized()); } string apiKey = Request.Headers.GetValues("apiKey").First(); if (!ApiHelper.CheckKey(apiKey)) { return(Unauthorized()); } try { var serviceResult = _accountService.CreateNewProjectManager(model); return(Ok(serviceResult)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }