Ejemplo n.º 1
0
        InsertAndCheckApplicantGroupUpload(DTO.UploadData data, string fileName,
                                           DTO.RegistrationType regType,
                                           string testingNo, string examPlaceCode, DTO.UserProfile userProfile)
        {
            var res = new DTO.ResponseService <DTO.SummaryReceiveApplicant>();
            var ctx = new IASPersonEntities();

            res.DataResponse = new DTO.SummaryReceiveApplicant();

            //res.DataResponse.Header = new List<DTO.UploadHeader>();
            //res.DataResponse.Detail = new List<DTO.ApplicantTemp>();



            try
            {
                DTO.ApplicantUploadRequest request = new DTO.ApplicantUploadRequest()
                {
                    FileName      = fileName,
                    TestingNo     = testingNo,
                    UploadData    = data,
                    UserProfile   = userProfile,
                    ExamPlaceCode = examPlaceCode
                };
                IAS.DAL.Interfaces.IIASPersonEntities     ctx2     = DAL.DALFactory.GetPersonContext();
                DTO.ResponseService <ApplicantFileHeader> response = ApplicantFileFactory.ConcreateApplicantFileRequest(ctx2, request);

                if (response.IsError)
                {
                    res.ErrorMsg = response.ErrorMsg;
                    LoggerFactory.CreateLog().Fatal("ApplicantService_InsertAndCheckApplicantGroupUpload", response.ErrorMsg);
                }
                if (response.DataResponse == null)
                {
                    res.ErrorMsg = Resources.errorApplicantFileHeader_001;
                }

                AG_IAS_APPLICANT_HEADER_TEMP applicantHeadTemp = new AG_IAS_APPLICANT_HEADER_TEMP();
                response.DataResponse.MappingToEntity <ApplicantFileHeader, AG_IAS_APPLICANT_HEADER_TEMP>(applicantHeadTemp);
                ctx.AG_IAS_APPLICANT_HEADER_TEMP.AddObject(applicantHeadTemp);

                var examLicense = ctx.AG_EXAM_LICENSE_R.Where(w => w.TESTING_NO == request.TestingNo).FirstOrDefault();
                foreach (ApplicantFileDetail detail in response.DataResponse.ApplicantFileDetails)
                {
                    AG_IAS_APPLICANT_DETAIL_TEMP detailTemp = new AG_IAS_APPLICANT_DETAIL_TEMP();
                    detail.EXAM_PLACE_CODE = examLicense.EXAM_PLACE_CODE;
                    detail.MappingToEntity <ApplicantFileDetail, AG_IAS_APPLICANT_DETAIL_TEMP>(detailTemp);
                    ctx.AG_IAS_APPLICANT_DETAIL_TEMP.AddObject(detailTemp);
                }
                using (TransactionScope ts = new TransactionScope())
                {
                    ctx.SaveChanges();
                    ts.Complete();
                }

                DTO.SummaryReceiveApplicant summarize = response.DataResponse.ValidateDataOfData();
                res.DataResponse = summarize;
            }
            catch (Exception)
            {
                res.ErrorMsg = Resources.errorApplicantFileHeader_001;
                LoggerFactory.CreateLog().Fatal("ApplicantService_InsertAndCheckApplicantGroupUpload", res.ErrorMsg);
            }

            return(res);
        }
Ejemplo n.º 2
0
        private static ExamFileHeader CreateExamFileHeader(IAS.DAL.IASPersonEntities ctx, DTO.ApplicantUploadRequest request)
        {
            String header = request.UploadData.Header;

            ExamFileHeaderRequest headRequest = new ExamFileHeaderRequest()
            {
                Context  = ctx,
                FileName = request.FileName,

                UserProfile = request.UserProfile,
                LineData    = request.UploadData.Header
            };
            ExamFileHeader headerFile = new ExamFileHeader(headRequest);


            return(headerFile);
        }
Ejemplo n.º 3
0
        private static ApplicantFileHeader CreateApplicantFileHeader(IAS.DAL.Interfaces.IIASPersonEntities ctx, DTO.ApplicantUploadRequest request)
        {
            String[] header = request.UploadData.Header.Split(',');

            ApplicantHeaderRequest headRequest = new ApplicantHeaderRequest()
            {
                Context       = ctx,
                FileName      = request.FileName,
                TestingNumber = request.TestingNo,
                ExamPlaceCode = request.ExamPlaceCode,
                UserProfile   = request.UserProfile,
                LineData      = header
            };
            //ApplicantFileHeader headerFile = new ApplicantFileHeader(headRequest)
            //                                        {
            //                                            PROVINCE_CODE = header.GetIndexOf(1),
            //                                            COMP_CODE = header.GetIndexOf(2),
            //                                            LICENSE_TYPE_CODE = header.GetIndexOf(3),
            //                                            TESTING_DATE = PhaseDateHelper.PhaseToDateNull(header.GetIndexOf(4)),
            //                                            EXAM_APPLY = PhaseApplyAmountHelper.Phase(header.GetIndexOf(5)),
            //                                            EXAM_AMOUNT = PhaseCurrencyAmount.Phase(header.GetIndexOf(6)),
            //                                            TEST_TIME_CODE = header.GetIndexOf(7),
            //                                        };

            //IQueryable<AG_EXAM_LICENSE_R> examLicense = ctx.AG_EXAM_LICENSE_R.Where(w => request.TestingNo.Contains(w.TESTING_NO) && request.ExamPlaceCode.Contains(w.EXAM_PLACE_CODE));
            var examLicense = ctx.AG_EXAM_LICENSE_R.Where(w => w.TESTING_NO == request.TestingNo && w.EXAM_PLACE_CODE == request.ExamPlaceCode).FirstOrDefault();
            var exmPlace    = ctx.AG_EXAM_PLACE_R.Where(w => w.EXAM_PLACE_CODE == examLicense.EXAM_PLACE_CODE).FirstOrDefault();
            int examFee     = ctx.AG_PETITION_TYPE_R.FirstOrDefault(s => s.PETITION_TYPE_CODE == "01").FEE.ToInt();
            ApplicantFileHeader headerFile = new ApplicantFileHeader(headRequest)
            {
                PROVINCE_CODE     = exmPlace.PROVINCE_CODE,
                COMP_CODE         = string.IsNullOrEmpty(exmPlace.EXAM_PLACE_GROUP_CODE) ? exmPlace.ASSOCIATION_CODE : exmPlace.EXAM_PLACE_GROUP_CODE,
                LICENSE_TYPE_CODE = header.GetIndexOf(3),
                TESTING_DATE      = examLicense.TESTING_DATE,
                EXAM_APPLY        = PhaseApplyAmountHelper.Phase(header.GetIndexOf(5)),
                EXAM_AMOUNT       = PhaseCurrencyAmount.Phase(header.GetIndexOf(5)) * examFee,
                TEST_TIME_CODE    = examLicense.TEST_TIME_CODE,
            };

            return(headerFile);
        }
Ejemplo n.º 4
0
        public static DTO.ResponseService <ExamFileHeader> ConcreateApplicantFileRequest(IAS.DAL.IASPersonEntities ctx, DTO.ApplicantUploadRequest request)
        {
            DTO.ResponseService <ExamFileHeader> response = new DTO.ResponseService <ExamFileHeader>();

            ExamFileHeader header = CreateExamFileHeader(ctx, request);
            Int32          row    = 0;

            foreach (String record in request.UploadData.Body)
            {
                row++;
                ExamFileDetail detail = CreateExamFileDetail(ctx, record, row);
                header.AddDetail(detail);
            }
            response.DataResponse = header;

            return(response);
        }
Ejemplo n.º 5
0
        public void ApplicantFileFactory_Can_Create_ApplicationFileHeader()
        {
            IAS.DAL.Interfaces.IIASPersonEntities ctx     = DAL.DALFactory.GetPersonContext();
            DTO.ApplicantUploadRequest            request = new DTO.ApplicantUploadRequest()
            {
                FileName    = "ApplicantFile.csv",
                TestingNo   = "561655",
                UploadData  = GetUploadDatafromVariable(),
                UserProfile = CreateUserProfile()
            };

            DTO.ResponseService <ApplicantFileHeader> response = ApplicantFileFactory.ConcreateApplicantFileRequest(ctx, request);
            ApplicantFileHeader headFile = response.DataResponse;

            Assert.IsNotNull(headFile.UPLOAD_GROUP_NO);
            Assert.AreNotEqual(headFile.UPLOAD_GROUP_NO, "");
            Assert.AreEqual(headFile.SOURCE_TYPE, "C");
            Assert.AreEqual(headFile.PROVINCE_CODE, "30");
            Assert.AreEqual(headFile.COMP_CODE, "444");
            Assert.AreEqual(headFile.TESTING_DATE, new DateTime(2013, 10, 10));
            Assert.AreEqual(headFile.EXAM_APPLY, (short)220);
            Assert.AreEqual(headFile.EXAM_AMOUNT, 4400m);
            Assert.AreEqual(headFile.TEST_TIME_CODE, "23");
            Assert.IsNotNull(headFile.ExamPlace);

            //"1,9990000002203,นาง,Imp Broker221,นายหน้าประกันชีวิต221,17/1/2533,ญ,04,1001,,"
            ApplicantFileDetail detail_1 = headFile.ApplicantFileDetails.SingleOrDefault(a => a.ID_CARD_NO == "9156460258875");

            Assert.AreEqual(detail_1.LOAD_STATUS, "F");
            Assert.AreEqual(detail_1.APPLICANT_CODE, 1);
            Assert.AreEqual(detail_1.TESTING_NO, "561655");
            Assert.AreEqual(detail_1.EXAM_PLACE_CODE, "30444");
            Assert.IsNull(detail_1.ACCEPT_OFF_CODE);
            Assert.IsNotNull(detail_1.APPLY_DATE);
            Assert.AreEqual(detail_1.ID_CARD_NO, "9156460258875");
            Assert.AreEqual(detail_1.PRE_NAME_CODE, "3");
            Assert.AreEqual(detail_1.NAMES, "Imp Broker221");
            Assert.AreEqual(detail_1.LASTNAME, "นายหน้าประกันชีวิต221");
            Assert.AreEqual(detail_1.BIRTH_DATE, (new DateTime(1990, 1, 17))); // "17/1/2533");
            Assert.AreEqual(detail_1.SEX, "F");
            Assert.AreEqual(detail_1.EDUCATION_CODE, "04");
            Assert.AreEqual(detail_1.ADDRESS1, "");
            Assert.IsNull(detail_1.ADDRESS2);
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.AREA_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.PROVINCE_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.ZIPCODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.TELEPHONE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.AMOUNT_TRAN_NO));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.PAYMENT_NO));
            Assert.AreEqual(detail_1.INSUR_COMP_CODE, "1001");
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.ABSENT_EXAM));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.RESULT));
            Assert.IsNull(detail_1.EXPIRE_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.LICENSE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.CANCEL_REASON));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.RECORD_STATUS));
            Assert.AreEqual(detail_1.USER_ID, "131106132209758");
            Assert.IsNotNull(detail_1.USER_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.EXAM_STATUS));
            Assert.IsTrue(String.IsNullOrEmpty(detail_1.REQUEST_NO));
            Assert.AreEqual(detail_1.UPLOAD_GROUP_NO, headFile.UPLOAD_GROUP_NO);
            Assert.AreEqual(detail_1.SEQ_NO, (1).ToString("0000"));
            Assert.AreEqual(detail_1.TITLE, "นาง");
            Assert.IsFalse(String.IsNullOrEmpty(detail_1.ERROR_MSG));

            //"2,9990000002211,นางสาว,Imp Broker222,นายหน้าประกันชีวิต222,18/1/2533,ญ,05,1001,,"
            ApplicantFileDetail detail_2 = headFile.ApplicantFileDetails.SingleOrDefault(a => a.ID_CARD_NO == "1990000002211");

            Assert.AreEqual(detail_2.LOAD_STATUS, "F");
            Assert.AreEqual(detail_2.APPLICANT_CODE, 2);
            Assert.AreEqual(detail_2.TESTING_NO, "561655");
            Assert.AreEqual(detail_2.EXAM_PLACE_CODE, "30444");
            Assert.IsNull(detail_2.ACCEPT_OFF_CODE);
            Assert.IsNotNull(detail_2.APPLY_DATE);
            Assert.AreEqual(detail_2.ID_CARD_NO, "1990000002211");
            Assert.AreEqual(detail_2.PRE_NAME_CODE, "2");
            Assert.AreEqual(detail_2.NAMES, "Imp Broker222");
            Assert.AreEqual(detail_2.LASTNAME, "นายหน้าประกันชีวิต222");
            Assert.AreEqual(detail_2.BIRTH_DATE, (new DateTime(1990, 1, 18))); // "17/1/2533");
            Assert.AreEqual(detail_2.SEX, "F");
            Assert.AreEqual(detail_2.EDUCATION_CODE, "05");
            Assert.AreEqual(detail_2.ADDRESS1, "");
            Assert.IsNull(detail_2.ADDRESS2);
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.AREA_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.PROVINCE_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.ZIPCODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.TELEPHONE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.AMOUNT_TRAN_NO));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.PAYMENT_NO));
            Assert.AreEqual(detail_2.INSUR_COMP_CODE, "1001");
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.ABSENT_EXAM));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.RESULT));
            Assert.IsNull(detail_2.EXPIRE_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.LICENSE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.CANCEL_REASON));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.RECORD_STATUS));
            Assert.AreEqual(detail_2.USER_ID, "131106132209758");
            Assert.IsNotNull(detail_2.USER_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.EXAM_STATUS));
            Assert.IsTrue(String.IsNullOrEmpty(detail_2.REQUEST_NO));
            Assert.AreEqual(detail_2.UPLOAD_GROUP_NO, headFile.UPLOAD_GROUP_NO);
            Assert.AreEqual(detail_2.SEQ_NO, (2).ToString("0000"));
            Assert.AreEqual(detail_2.TITLE, "นางสาว");
            Assert.IsFalse(String.IsNullOrEmpty(detail_2.ERROR_MSG));

            //"3,9990000002220,นาย,Imp Broker223,นายหน้าประกันชีวิต223,19/1/2533,ช,04,1001,,"
            ApplicantFileDetail detail_3 = headFile.ApplicantFileDetails.SingleOrDefault(a => a.ID_CARD_NO == "9990000002220");

            Assert.AreEqual(detail_3.LOAD_STATUS, "F");
            Assert.AreEqual(detail_3.APPLICANT_CODE, 3);
            Assert.AreEqual(detail_3.TESTING_NO, "561655");
            Assert.AreEqual(detail_3.EXAM_PLACE_CODE, "30444");
            Assert.IsNull(detail_3.ACCEPT_OFF_CODE);
            Assert.IsNotNull(detail_3.APPLY_DATE);
            Assert.AreEqual(detail_3.ID_CARD_NO, "9990000002220");
            Assert.AreEqual(detail_3.PRE_NAME_CODE, "1");
            Assert.AreEqual(detail_3.NAMES, "Imp Broker223");
            Assert.AreEqual(detail_3.LASTNAME, "นายหน้าประกันชีวิต223");
            Assert.AreEqual(detail_3.BIRTH_DATE, (new DateTime(1990, 1, 19))); // "17/1/2533");
            Assert.AreEqual(detail_3.SEX, "M");
            Assert.AreEqual(detail_3.EDUCATION_CODE, "04");
            Assert.AreEqual(detail_3.ADDRESS1, "");
            Assert.IsNull(detail_3.ADDRESS2);
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.AREA_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.PROVINCE_CODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.ZIPCODE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.TELEPHONE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.AMOUNT_TRAN_NO));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.PAYMENT_NO));
            Assert.AreEqual(detail_3.INSUR_COMP_CODE, "1001");
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.ABSENT_EXAM));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.RESULT));
            Assert.IsNull(detail_3.EXPIRE_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.LICENSE));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.CANCEL_REASON));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.RECORD_STATUS));
            Assert.AreEqual(detail_3.USER_ID, "131106132209758");
            Assert.IsNotNull(detail_3.USER_DATE);
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.EXAM_STATUS));
            Assert.IsTrue(String.IsNullOrEmpty(detail_3.REQUEST_NO));
            Assert.AreEqual(detail_3.UPLOAD_GROUP_NO, headFile.UPLOAD_GROUP_NO);
            Assert.AreEqual(detail_3.SEQ_NO, (3).ToString("0000"));
            Assert.AreEqual(detail_3.TITLE, "นาย");
            Assert.IsFalse(String.IsNullOrEmpty(detail_3.ERROR_MSG));
        }