Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }