Example #1
0
        public void AddDetail(ExamFileDetail detail)
        {
            detail.SetHeader(this);
            detail.UPLOAD_GROUP_NO = this.UPLOAD_GROUP_NO;
            detail.AssociateName   = this.ASSOCIATE_NAME;
            detail.AssociateCode   = this.ASSOCIATE_CODE;
            detail.ProvinceCode    = this.PROVINCE_CODE;
            detail.TestingDate     = this.TESTING_DATE;
            detail.LicenseTypeCode = this.LICENSE_TYPE_CODE;
            detail.TimeCode        = this.EXAM_TIME_CODE;
            VW_IAS_COM_CODE ent = this.CTX.VW_IAS_COM_CODE.SingleOrDefault(s => s.ID == "01");

            detail.InsurCompName = ent.NAME;

            string examResult = detail.EXAM_RESULT;

            if ("P_F".Contains(examResult))
            {
                detail.EXAM_RESULT = examResult;
            }
            else if (examResult == "M")
            {
                detail.ABSENT_EXAM = examResult;
            }


            string title = detail.TITLE == "น.ส." ? "นางสาว" : detail.TITLE;

            //ตรวจสอบคำนำหน้าชื่อ
            VW_IAS_TITLE_NAME entTitle = this.CTX.VW_IAS_TITLE_NAME.ToList().FirstOrDefault(s => s.NAME == title);

            if (entTitle != null)
            {
                detail.PRE_NAME_CODE = entTitle.ID.ToString();
            }
            else
            {
                detail.ERROR_MSG = Resources.errorExamFileHeader_001;
            }



            IEnumerable <BusinessRule> rules = detail.GetBrokenRules();

            if (rules != null && rules.Count() > 0)
            {
                StringBuilder errmsg = new StringBuilder("");
                foreach (BusinessRule rule in rules)
                {
                    errmsg.AppendLine(String.Format("- {0} <br />", rule.Rule));
                }
                detail.ERROR_MSG = errmsg.ToString();
            }
            _examFileDetails.Add(detail);
        }
Example #2
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);
        }