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)); }
public ActionResult Create([Bind(Include = "EmployeeId,FirstName,LastName,Email,PhoneNumber,Address,City,State,ZipCode,HireDate,Wage,Positionid,LocationId")] EmployeeViewModel employee) { if (ModelState.IsValid) { _staffService.Create(employee); return(RedirectToAction("Index")); } //ViewBag.LocationId = new SelectList(db.Locations, "LocationId", "LocationName", employee.LocationId); //ViewBag.Positionid = new SelectList(db.Positions, "PositionId", "PositionTitle", employee.Positionid); _locationService.GetAll().ToList(); _positionService.GetAll().ToList(); return(View(employee)); }
public async Task <IHttpActionResult> Createstaff() { ResponseDataDTO <staff> response = new ResponseDataDTO <staff>(); try { var path = Path.GetTempPath(); if (!Request.Content.IsMimeMultipartContent("form-data")) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); } MultipartFormDataStreamProvider streamProvider = new MultipartFormDataStreamProvider(path); await Request.Content.ReadAsMultipartAsync(streamProvider); // save file string fileName = ""; foreach (MultipartFileData fileData in streamProvider.FileData) { fileName = (FileExtension.SaveFileOnDisk(fileData)); } #region ["Check null"] if (streamProvider.FormData["sta_fullname"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Họ và tên không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["sta_username"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Tên đăng nhập không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["sta_password"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Mật khẩu không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["sta_mobile"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Số điện thoại không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["sta_status"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Trạng thái không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["department_id"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Phòng ban không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["position_id"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Chức vụ không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["add_province"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Tinh/Thanh pho không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["add_district"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Quan/Huyen không được để trống"; response.Data = null; return(Ok(response)); } if (streamProvider.FormData["add_ward"] == null) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = "Xa/Phuong không được để trống"; response.Data = null; return(Ok(response)); } #endregion #region ["Check exits"] if (!check_department(Convert.ToInt32(streamProvider.FormData["department_id"]))) { response.Code = HttpCode.NOT_FOUND; response.Message = "Khong co ma phong ban trong csdl!"; response.Data = null; return(Ok(response)); } if (!check_position(Convert.ToInt32(Convert.ToInt32(streamProvider.FormData["position_id"])))) { response.Code = HttpCode.NOT_FOUND; response.Message = "Khong co ma bo phan trong csdl!"; response.Data = null; return(Ok(response)); } if (!check_grouprole(Convert.ToInt32(streamProvider.FormData["group_role_id"]))) { response.Code = HttpCode.NOT_FOUND; response.Message = "Khong co ma nhom quyen trong csdl!"; response.Data = null; return(Ok(response)); } #endregion // get data from formdata những trường bắt buộc StaffCreateViewModel StaffCreateViewModel = new StaffCreateViewModel { sta_fullname = Convert.ToString(streamProvider.FormData["sta_fullname"]), //sta_code = Convert.ToString(streamProvider.FormData["sta_code"]), sta_username = Convert.ToString(streamProvider.FormData["sta_username"]), sta_password = Convert.ToString(streamProvider.FormData["sta_password"]), sta_email = Convert.ToString(streamProvider.FormData["sta_email"]), sta_aboutme = Convert.ToString(streamProvider.FormData["sta_aboutme"]), sta_mobile = Convert.ToString(streamProvider.FormData["sta_mobile"]), sta_identity_card = Convert.ToString(streamProvider.FormData["sta_identity_card"]), sta_address = Convert.ToString(streamProvider.FormData["sta_address"]), sta_hometown = Convert.ToString(streamProvider.FormData["sta_hometown"]), sta_reason_to_end_work = Convert.ToString(streamProvider.FormData["sta_reason_to_end_work"]), sta_note = Convert.ToString(streamProvider.FormData["sta_note"]), department_id = Convert.ToInt32(streamProvider.FormData["department_id"]), group_role_id = Convert.ToInt32(streamProvider.FormData["group_role_id"]), social_id = Convert.ToInt32(streamProvider.FormData["social_id"]), position_id = Convert.ToInt32(streamProvider.FormData["position_id"]), sta_leader_flag = Convert.ToByte(streamProvider.FormData["sta_leader_flag"]), sta_status = Convert.ToByte(streamProvider.FormData["sta_status"]), sta_sex = Convert.ToByte(streamProvider.FormData["sta_sex"]), }; //Kiểm tra các trường rằng buộc if (check_username_email(StaffCreateViewModel.sta_username, StaffCreateViewModel.sta_email)) { response.Code = HttpCode.NOT_FOUND; response.Message = "Da co username '" + StaffCreateViewModel.sta_username + "' hoac email '" + StaffCreateViewModel.sta_email + "' trong csdl"; response.Data = null; return(Ok(response)); } //md5 if (StaffCreateViewModel.sta_email != null) { if (CheckEmail.IsValidEmail(StaffCreateViewModel.sta_email) == false) { response.Message = "Định dạng email không hợp lệ !"; response.Data = null; return(Ok(response)); } } //check_phone_number if (CheckNumber.IsPhoneNumber(StaffCreateViewModel.sta_mobile) == false) { response.Message = "Số điện thoại không hợp lệ"; response.Data = null; return(Ok(response)); } //Bắt các truongf còn lại //check datetime if (streamProvider.FormData["sta_birthday"] == null) { StaffCreateViewModel.sta_birthday = null; } else { StaffCreateViewModel.sta_birthday = Convert.ToDateTime(streamProvider.FormData["sta_birthday"]); } if (streamProvider.FormData["sta_identity_card_date"] == null) { StaffCreateViewModel.sta_identity_card_date = null; } else { StaffCreateViewModel.sta_identity_card_date = Convert.ToDateTime(streamProvider.FormData["sta_identity_card_date"]); } if (streamProvider.FormData["sta_end_work_date"] == null) { StaffCreateViewModel.sta_end_work_date = null; } else { StaffCreateViewModel.sta_end_work_date = Convert.ToDateTime(streamProvider.FormData["sta_end_work_date"]); } if (streamProvider.FormData["sta_start_work_date"] == null) { StaffCreateViewModel.sta_start_work_date = null; } else { StaffCreateViewModel.sta_start_work_date = Convert.ToDateTime(streamProvider.FormData["sta_start_work_date"]); } if (streamProvider.FormData["sta_created_date"] == null) { StaffCreateViewModel.sta_created_date = DateTime.Now; } //Lấy ra bản ghi cuối cùng tạo mã code var x = _staffservice.GetLast(); StaffCreateViewModel.sta_code = Utilis.CreateCode("KH", x.sta_id, 7); // mapping view model to entity var createdstaff = _mapper.Map <staff>(StaffCreateViewModel); createdstaff.sta_thumbnai = fileName; createdstaff.sta_password = StaffCreateViewModel.sta_password; // save new staff _staffservice.Create(createdstaff); var get_last_id = _staffservice.GetLast(); //Create address AddressCreateViewModel addressCreateViewModel = new AddressCreateViewModel { add_province = Convert.ToString(streamProvider.FormData["add_province"]), add_district = Convert.ToString(streamProvider.FormData["add_district"]), add_ward = Convert.ToString(streamProvider.FormData["add_ward"]), }; addressCreateViewModel.staff_id = get_last_id.sta_id; var createAddress = _mapper.Map <address>(addressCreateViewModel); _addressService.Create(createAddress); // return response response.Code = HttpCode.OK; response.Message = MessageResponse.SUCCESS; response.Data = createdstaff; return(Ok(response)); } catch (Exception ex) { response.Code = HttpCode.INTERNAL_SERVER_ERROR; response.Message = ex.Message; response.Data = null; return(Ok(response)); } }