/// <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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }