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); }
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); }
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); }
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); }
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)); }