protected void Validate() { if (_userProfile.MemberType == 2) { VW_IAS_COM_CODE comEnt = _ctx.VW_IAS_COM_CODE.SingleOrDefault(a => a.ID == COMP_CODE); if (String.IsNullOrEmpty(COMP_CODE)) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } else if (COMP_CODE != _userProfile.CompCode) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } else if (comEnt == null) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } } else if (_userProfile.MemberType == 3) { if ((new[] { "03", "04" }).Contains(this.LICENSE_TYPE_CODE)) { if (!String.IsNullOrEmpty(COMP_CODE)) { var comEnt = _ctx.VW_IAS_COM_CODE.SingleOrDefault(a => a.ID == COMP_CODE).ID; if (String.IsNullOrEmpty(comEnt)) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } else { if (!comEnt.StartsWith("3")) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } } } } else { if (String.IsNullOrEmpty(COMP_CODE)) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } else { if (!string.IsNullOrEmpty(COMP_CODE)) { var comEnt = _ctx.VW_IAS_COM_CODE.SingleOrDefault(a => a.ID == COMP_CODE).ID; if (String.IsNullOrEmpty(comEnt)) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } else { if ((new[] { "01", "07" }).Contains(this.LICENSE_TYPE_CODE)) { if (!comEnt.StartsWith("1")) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } } else if ((new[] { "02", "05", "06", "08" }).Contains(this.LICENSE_TYPE_CODE)) { if (!comEnt.StartsWith("2")) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } } } } } } } else if (this.COMP_CODE.Length == 4) { VW_IAS_COM_CODE comEnt = _ctx.VW_IAS_COM_CODE.SingleOrDefault(a => a.ID == COMP_CODE); } else { AG_EXAM_PLACE_GROUP_R compEnt = _ctx.AG_EXAM_PLACE_GROUP_R.SingleOrDefault(s => s.EXAM_PLACE_GROUP_CODE == COMP_CODE); if (compEnt == null) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_CODE_Required); } } if (IMPORT_ID == 0) { AddBrokenRule(LicenseFileHeaderBusinessRules.IMPORT_ID_Required); } if (String.IsNullOrEmpty(FILE_NAME)) { AddBrokenRule(LicenseFileHeaderBusinessRules.FILE_NAME_Required); } //if (!String.IsNullOrEmpty(PETTITION_TYPE)) // AddBrokenRule(LicenseFileHeaderBusinessRules.PETTITION_TYPE_Required); if (PetitionTypeR == null) { AddBrokenRule(LicenseFileHeaderBusinessRules.PETTITION_TYPE_Required); } if (String.IsNullOrEmpty(LICENSE_TYPE_CODE)) { AddBrokenRule(LicenseFileHeaderBusinessRules.LICENSE_TYPE_CODE_Required); } else if (LicenseTypeR == null) { AddBrokenRule(LicenseFileHeaderBusinessRules.LICENSE_TYPE_Required); } else if (LICENSE_TYPE_CODE != _licenseTypeUserRequest) { AddBrokenRule(LicenseFileHeaderBusinessRules.LICENSE_TYPE_CODE_Required); } if (_userProfile.MemberType == 2) { if (String.IsNullOrEmpty(COMP_NAME)) { AddBrokenRule(LicenseFileHeaderBusinessRules.COMP_NAME_Required); } } if (String.IsNullOrEmpty(LICENSE_TYPE)) { AddBrokenRule(LicenseFileHeaderBusinessRules.LICENSE_TYPE_Required); } if (SEND_DATE == null || SEND_DATE == DateTime.MinValue) { AddBrokenRule(LicenseFileHeaderBusinessRules.SEND_DATE_Required); } else if (!(((DateTime)SEND_DATE).Date == DateTime.Now.Date)) { AddBrokenRule(LicenseFileHeaderBusinessRules.SEND_DATE_Required); } if (TOTAL_AGENT == null || TOTAL_AGENT == 0) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_AGENT_Required); } else if (TOTAL_AGENT != LicenseFileDetails.Count()) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_AGENT_Required); } //ใบแทนใบอนุญาตเปลี่ยนชื่อสกุลค่าธรรมเนียมเป็น 0 if (PetitionTypeR.PETITION_TYPE_CODE == "16" && replaceType == DTO.ReplateType.ChangeNameandSur.GetEnumValue().ToString()) { if (TOTAL_FEE == null || TOTAL_FEE != 0) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_FEE_Required); } } else if (PetitionTypeR.PETITION_TYPE_CODE == "11" && (new[] { "11", "12" }).Contains(this.LICENSE_TYPE_CODE)) { if (TOTAL_FEE == null || TOTAL_FEE != 0) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_FEE_Required); } } else { if (TOTAL_FEE == null || TOTAL_FEE == 0) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_FEE_Required); } AG_PETITION_TYPE_R free = _ctx.AG_PETITION_TYPE_R.SingleOrDefault(s => s.PETITION_TYPE_CODE == PetitionTypeR.PETITION_TYPE_CODE); Decimal?count = LicenseFileDetails.Count(); Decimal?total = 0; Decimal value = new Decimal(); foreach (var item in LicenseFileDetails) { if (string.IsNullOrEmpty(item.LICENSE_FEE.ToString()) || !Decimal.TryParse(item.LICENSE_FEE.ToString(), out value)) { item.LICENSE_FEE = 0; } total += item.LICENSE_FEE; } if (TOTAL_FEE != total) { AddBrokenRule(LicenseFileHeaderBusinessRules.TOTAL_FEE_Required); } } //if (String.IsNullOrEmpty(ERR_MSG)) // AddBrokenRule(LicenseFileHeaderBusinessRules.ERR_MSG_Required); //if (String.IsNullOrEmpty(APPROVE_COMPCODE)) // AddBrokenRule(LicenseFileHeaderBusinessRules.APPROVE_COMPCODE_Required); }
public static DTO.SummaryReceiveApplicant ConvertToSummaryReceiveApplicants(this ApplicantFileHeader applicantFileHeader) { DTO.SummaryReceiveApplicant summarize = new DTO.SummaryReceiveApplicant(); summarize.UploadGroupNo = applicantFileHeader.UPLOAD_GROUP_NO; summarize.Header = new DTO.UploadHeader(); IList <DTO.ApplicantTemp> details = new List <DTO.ApplicantTemp>(); Int32 errorAmount = applicantFileHeader.ApplicantFileDetails.Count(a => a.LOAD_STATUS == "F"); Int32 passAmount = applicantFileHeader.ApplicantFileDetails.Count(a => a.LOAD_STATUS == "T"); summarize.Header.RightTrans = passAmount; summarize.Header.MissingTrans = errorAmount; summarize.Header.Totals = applicantFileHeader.ApplicantFileDetails.Count(); summarize.Header.UploadFileName = applicantFileHeader.FILENAME; summarize.Header.FileName = applicantFileHeader.FileName; if (applicantFileHeader.GetBrokenRules().Count() > 0) { StringBuilder errorMessage = new StringBuilder(""); foreach (BusinessRule item in applicantFileHeader.GetBrokenRules()) { errorMessage.AppendLine(String.Format("- {0} <br />", item.Rule)); } summarize.MessageError = errorMessage.ToString(); //applicantFileHeader.e = errorMessage.ToString(); } if (applicantFileHeader.EXAM_APPLY != applicantFileHeader.ApplicantFileDetails.Count()) { summarize.MessageError = String.Format("- {0} <br />", ApplicantFileHeaderBusinessRules.EXAM_APPLY_Required.Rule); } Decimal price = new Decimal(); AG_PETITION_TYPE_R ent = applicantFileHeader.CTX.AG_PETITION_TYPE_R.SingleOrDefault(s => s.PETITION_TYPE_CODE == "01"); if (ent != null && ent.FEE != null) { price = ((Decimal)ent.FEE); } //Decimal sumAmount = price * applicantFileHeader.ApplicantFileDetails.Count(); //if (applicantFileHeader.EXAM_AMOUNT != null && sumAmount != applicantFileHeader.EXAM_AMOUNT) //{ // summarize.MessageError += ApplicantFileHeaderBusinessRules.EXAM_AMOUNT_Required.Rule; //} applicantFileHeader.ValidCiticenDuplicate(); foreach (ApplicantFileDetail item in applicantFileHeader.ApplicantFileDetails) { DTO.ApplicantTemp detail = new DTO.ApplicantTemp() { LOAD_STATUS = item.LOAD_STATUS, APPLICANT_CODE = item.APPLICANT_CODE, TESTING_NO = item.TESTING_NO, EXAM_PLACE_CODE = item.EXAM_PLACE_CODE, ACCEPT_OFF_CODE = item.ACCEPT_OFF_CODE, APPLY_DATE = item.APPLY_DATE, ID_CARD_NO = item.ID_CARD_NO, PRE_NAME_CODE = item.PRE_NAME_CODE, NAMES = item.NAMES, LASTNAME = item.LASTNAME, BIRTH_DATE = item.BIRTH_DATE, SEX = item.SEX, EDUCATION_CODE = item.EDUCATION_CODE, ADDRESS1 = item.ADDRESS1, ADDRESS2 = item.ADDRESS2, AREA_CODE = item.AREA_CODE, PROVINCE_CODE = item.PROVINCE_CODE, ZIPCODE = item.ZIPCODE, TELEPHONE = item.TELEPHONE, AMOUNT_TRAN_NO = item.AMOUNT_TRAN_NO, PAYMENT_NO = item.PAYMENT_NO, INSUR_COMP_CODE = item.INSUR_COMP_CODE, ABSENT_EXAM = item.ABSENT_EXAM, RESULT = item.RESULT, EXPIRE_DATE = item.EXPIRE_DATE, LICENSE = item.LICENSE, CANCEL_REASON = item.CANCEL_REASON, RECORD_STATUS = item.RECORD_STATUS, USER_ID = item.USER_ID, USER_DATE = item.USER_DATE, EXAM_STATUS = item.EXAM_STATUS, REQUEST_NO = item.REQUEST_NO, UPLOAD_GROUP_NO = item.UPLOAD_GROUP_NO, SEQ_NO = item.SEQ_NO, TITLE = item.TITLE, ERROR_MSG = item.ERROR_MSG, Header = summarize.Header }; details.Add(detail); } summarize.ReceiveApplicantDetails = details; return(summarize); }