public async Task <IActionResult> CreateStaff([FromForm] StaffCreateRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _staffService.Create(request); if (!result.IsSuccessed) { return(BadRequest(result)); } return(Ok(result)); }
/// <summary>Tạo mới nhân viên</summary> /// <param name="request">The request.</param> /// <returns> /// <br /> /// </returns> /// <Modified> /// Name Date Comments /// thainh2 5/10/2021 created /// </Modified> public async Task <ApiResult <string> > Create(StaffCreateRequest request) { try { // Check trùng email var staffObj = await _context.Staffs.FirstOrDefaultAsync(t => t.Email == request.Email.Trim() && t.Status == true); if (staffObj != null) { return(new ApiErrorResult <string>("Email đã tồn tại")); } //Check trùng số điện thoại var objStaff_PhoneNumber = await _context.Staffs.FirstOrDefaultAsync(t => t.Tel == request.Tel.Trim() && t.Status == true); if (objStaff_PhoneNumber != null) { return(new ApiErrorResult <string>("Số điện thoại đã tồn tại")); } var staff = new Staff() { Name = SystemConstants.StripHTML(request.Name), NameUnsigned = SystemConstants.ConvertToUnSign(SystemConstants.StripHTML(request.Name)), Email = request.Email, Tel = request.Tel, Status = true, CreateBy = request.CreateBy, CreateDate = DateTime.Now }; _context.Staffs.Add(staff); await _context.SaveChangesAsync(); return(new ApiSuccessResult <string>(staff.Id.ToString())); } catch (Exception e) { var logRequest = new LogWritelogRequest() { MethodName = "StaffService_Create", CreateDate = DateTime.Now, Description = e.Message }; await WriteLog(logRequest); throw new ThainhLabExeption(e.Message); } }
/// <summary>Tạo mới nhân viên</summary> /// <param name="request">The request.</param> /// <returns> /// <br /> /// </returns> /// <Modified> /// Name Date Comments /// thainh2 5/10/2021 created /// </Modified> public async Task <ApiResult <string> > CreateStaff(StaffCreateRequest request) { var client = _httpClientFactory.CreateClient(); client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _token); var requestContent = new MultipartFormDataContent(); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.Name) ? "" : request.Name.ToString()), "name"); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.Email) ? "" : request.Email.ToString()), "email"); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.Tel) ? "" : request.Tel.ToString()), "tel"); requestContent.Add(new StringContent(string.IsNullOrEmpty(request.CreateBy.ToString()) ? "" : request.CreateBy.ToString()), "createby"); var response = await client.PostAsync($"/api/staffs/", requestContent); if (response.IsSuccessStatusCode) { return(JsonConvert.DeserializeObject <ApiSuccessResult <string> >(await response.Content.ReadAsStringAsync())); } return(JsonConvert.DeserializeObject <ApiErrorResult <string> >(await response.Content.ReadAsStringAsync())); }