/// <summary> /// Update WorkHistory For Controller /// </summary> /// <param name="workHistoryObj"></param> /// <returns></returns> public async Task <WorkHistoryViewModel> UpdateInfomationWorkHistory(int id, UpdateWorkHistoryResource workHistoryObj) { model.AppResult.Result = false; //Validate Status var workHistoryById = await GetWorkHistoryById(id); if (workHistoryById == null) { model.AppResult.Message = Constant.WORKHISTORY_ERROR; return(model); } // Validate Start/End Date if (!Functions.ValidateInputTime(workHistoryObj.StartDate, workHistoryObj.EndDate)) { model.AppResult.Message = Constant.DATETIME_ERROR; return(model); } //Validate CompanyName if (String.IsNullOrEmpty(workHistoryObj.CompanyName) || workHistoryObj.CompanyName.Length > 255) { model.AppResult.Message = Constant.COMPANY_ERROR; return(model); } //Validate Position if (String.IsNullOrEmpty(workHistoryObj.Position) || workHistoryObj.Position.Length > 255) { model.AppResult.Message = Constant.POSITION_ERROR; return(model); } // Validate Id of WorkHistoryInfo var tempWorkHistoryInfo = await _workHistoryRepository.FindAsync(id); if (tempWorkHistoryInfo is null) { model.AppResult.Message = Constant.WORKHISTORY_ERROR; return(model); } // Define DateTime.Year = "1111" is null var valueStartDate = Functions.ConvertDateTime(workHistoryObj.StartDate); var valueEndDate = Functions.ConvertDateTime(workHistoryObj.EndDate); // Set value into WorkHistoryInfo tempWorkHistoryInfo.Id = id; tempWorkHistoryInfo.Position = workHistoryObj.Position; tempWorkHistoryInfo.CompanyName = workHistoryObj.CompanyName; tempWorkHistoryInfo.StartDate = valueStartDate; tempWorkHistoryInfo.EndDate = (valueEndDate.Year == 1111) ? (DateTime?)null : valueEndDate; // Define DateTime.Year = "1111" is null tempWorkHistoryInfo.UpdatedAt = DateTime.Now; tempWorkHistoryInfo.UpdatedBy = Helpers.HttpContext.CurrentUser; model.AppResult.Message = Constant.UPDATE_SUCCESS; var result = await _workHistoryRepository.UpdateAsync(tempWorkHistoryInfo); model.AppResult.DataResult = result; model.AppResult.Result = true; return(model); }
public async Task <IActionResult> UpdateWorkHistory(int id, [FromBody] UpdateWorkHistoryResource workHistory) { var app = await _workHistoryService.UpdateInfomationWorkHistory(id, workHistory); if (!app.AppResult.Result) { return(BadRequest(app.AppResult)); } return(Ok(app.AppResult)); }