/// <summary> /// Get List Certifiate /// </summary> /// <param name="list"></param> /// <returns></returns> public static List <CreateCertificateResource> GetListCertifiate(List <string> list, int id) { List <CreateCertificateResource> listCertificate = new List <CreateCertificateResource>(); int indexCertificate = list.IndexOf("CERTIFICATION"); int indexProject = list.IndexOf("PROJECTS"); int index = 0; for (int i = indexCertificate + 1; i < indexProject; i++) { index++; CreateCertificateResource certificateInfo = new CreateCertificateResource(); string certificateStr = list[i]; string dateCertificate = GetDate(certificateStr); Hashtable hashtable = FormatYear(dateCertificate); certificateInfo = new CreateCertificateResource { StartDate = (DateTime)hashtable["StartDate"], EndDate = (hashtable.Count > 1) ? (DateTime?)hashtable["EndDate"] : null, Name = (GetNameAndProviderCertifiate(certificateStr)["Name"] != null) ? GetNameAndProviderCertifiate(certificateStr)["Name"].ToString() : null, Provider = (GetNameAndProviderCertifiate(certificateStr)["Provider"] != null) ? GetNameAndProviderCertifiate(certificateStr)["Provider"].ToString() : null, PersonId = id }; listCertificate.Add(certificateInfo); } return(listCertificate); }
public async Task <IActionResult> CreateCertificate([FromBody] CreateCertificateResource certificateObj) { var tempCertificateModel = await _certificateService.CreateCertificate(certificateObj); if (!tempCertificateModel.AppResult.Result) { return(BadRequest(tempCertificateModel.AppResult)); } return(Ok(tempCertificateModel.AppResult)); }
public async Task <CertificateViewModel <SaveCertificateResource> > CreateCertificate(CreateCertificateResource certificateObj) { model.AppResult.Result = false; // Validate CollegeName, Major if (string.IsNullOrEmpty(certificateObj.Name) || string.IsNullOrEmpty(certificateObj.Provider) || certificateObj.Name.Length > 255 || certificateObj.Provider.Length > 255) { model.AppResult.Message = "CollegeName/Major invalid"; return(model); } // Validate Start/End Date if (!Functions.ValidateInputTime(certificateObj.StartDate, certificateObj.EndDate)) { model.AppResult.Message = Constant.DATETIME_ERROR; return(model); } // Validate PersonId var taskValidPeronId = await _certificateRepository.ValidatePersonIdAsync(certificateObj.PersonId); if (taskValidPeronId < 1) { model.AppResult.Message = Constant.PERSONID_ERROR; return(model); } // Define DateTime.Year = "1111" is null var valueStartDate = Functions.ConvertDateTime(certificateObj.StartDate); var valueEndDate = Functions.ConvertDateTime(certificateObj.EndDate); // Find maximum value of OrderIndex int maximumOrderIndex = await _certificateRepository.MaximumOrderIndexAsync(certificateObj.PersonId); maximumOrderIndex = (maximumOrderIndex <= 0) ? 1 : maximumOrderIndex + 1; // Insert infomation into temporary model var tempCertificateInfo = new CertificateInfo() { Name = Regex.Replace(certificateObj.Name.Trim(), @"\s{2,}", " "), Provider = Regex.Replace(certificateObj.Provider.Trim(), @"\s{2,}", " "), StartDate = valueStartDate, EndDate = (valueEndDate.Year == 1111) ? (DateTime?)null : valueEndDate, // Define DateTime.Year = "1111" is null PersonId = certificateObj.PersonId, UpdatedBy = null, UpdatedAt = null, CreatedBy = Helpers.HttpContext.CurrentUser, CreatedAt = DateTime.Now, Status = true, OrderIndex = maximumOrderIndex }; var tempCertificateInfoId = await _certificateRepository.InsertAsync(tempCertificateInfo); // Set response to FE model.ObjModel.Id = tempCertificateInfoId; model.ObjModel.OrderIndex = tempCertificateInfo.OrderIndex; model.ObjModel.Name = tempCertificateInfo.Name; model.ObjModel.Provider = tempCertificateInfo.Provider; model.ObjModel.StartDate = tempCertificateInfo.StartDate.Year.ToString(); model.ObjModel.EndDate = (tempCertificateInfo.EndDate is null) ? string.Empty : string.Format(tempCertificateInfo.EndDate?.Year.ToString()); model.AppResult.Result = true; model.AppResult.Message = Constant.INSERT_SUCCESS; model.AppResult.DataResult = model.ObjModel; return(model); }