///<summary> ///Purpose : Mandatory check1 (QuotationHandler.GenerateQuotation) ///Parameters: dsGenerateQuotationData /// dtHeader[0] /// - ContractCode = NULL /// - InstallationFee = NULL /// - InstallationSlipNo = NULL /// - InstallationEngineerEmpNo = NULL /// - ApproveNo1 = NULL /// - ApproveNo2 = NULL /// dtInstrumentDetails[] = Empty list ///Expected : MSG0007: These field was required: ContractCode, InstallationFee, dtInstrumentDetails[]. ///</summary> public string Case1() { IQuotationHandler target = ServiceContainer.GetService <IQuotationHandler>() as IQuotationHandler; dsGenerateData doUpdate = new dsGenerateData(); //header doUpdate.dtHeader = new dtHeader(); doUpdate.dtHeader.ContractCode = null; doUpdate.dtHeader.InstallationFee = null; doUpdate.dtHeader.InstallationSlipNo = null; doUpdate.dtHeader.InstallationEngineerEmpNo = null; doUpdate.dtHeader.ApproveNo1 = null; doUpdate.dtHeader.ApproveNo2 = null; //detail doUpdate.dtInstrumentDetails = new List <dtInstrumentDetails>(); string expected = "MSG0007"; string actual; try { actual = target.GenerateQuotation(doUpdate); } catch (ApplicationErrorException ex) { actual = ex.ErrorResult.Message.Code; } catch (Exception ex) { actual = ex.StackTrace; } return(string.Format(RESULT_FORMAT, 1, expected, actual, CompareResult_String(expected, actual))); }
///<summary> ///Purpose : Get contract data (How does the system perform if an invalid instrument is specified, master data not found.) ///Parameters: dsGenerateQuotationData /// dtHeader[0] /// - ContractCode = N0000000346 /// - InstallationFee = 250000.00 /// - InstallationSlipNo = NULL /// - InstallationEngineerEmpNo = NULL /// - ApproveNo1 = NULL /// - ApproveNo2 = NULL /// dtInstrumentDetails[] /// - dtInstrumentDetails[0] /// - InstrumentCode = AC-A1030TH /// - InstallQty = 5 /// - AcmAddQty = NULL /// - AcmRemoveQty = NULL /// - dtInstrumentDetails[1] /// - InstrumentCode = U100i /// - InstallQty = 20 /// - AcmAddQty = NULL /// - AcmRemoveQty = NULL ///Expected : MSG2016: Cannot generate quotation. Rental unit price of the instrument code, U100i, not found. ///</summary> public string Case6() { IQuotationHandler target = ServiceContainer.GetService <IQuotationHandler>() as IQuotationHandler; dsGenerateData doUpdate = new dsGenerateData(); //header doUpdate.dtHeader = new dtHeader(); doUpdate.dtHeader.ContractCode = "N0000000346"; doUpdate.dtHeader.InstallationFee = 250000.00M; doUpdate.dtHeader.InstallationSlipNo = null; doUpdate.dtHeader.InstallationEngineerEmpNo = null; doUpdate.dtHeader.ApproveNo1 = null; doUpdate.dtHeader.ApproveNo2 = null; //detail doUpdate.dtInstrumentDetails = new List <dtInstrumentDetails>(); //detail[0] dtInstrumentDetails dt1 = new dtInstrumentDetails(); dt1.InstrumentCode = "AC-A1030TH"; dt1.InstallQty = 5; dt1.AcmAddQty = null; dt1.AcmRemoveQty = null; doUpdate.dtInstrumentDetails.Add(dt1); //detail[1] dtInstrumentDetails dt2 = new dtInstrumentDetails(); dt2.InstrumentCode = "U100i"; dt2.InstallQty = 20; dt2.AcmAddQty = null; dt2.AcmRemoveQty = null; doUpdate.dtInstrumentDetails.Add(dt2); string expected = "MSG2016"; string actual; try { actual = target.GenerateQuotation(doUpdate); } catch (ApplicationErrorException ex) { actual = ex.ErrorResult.Message.Code; } catch (Exception ex) { actual = ex.StackTrace; } return(string.Format(RESULT_FORMAT, 6, expected, actual, CompareResult_String(expected, actual))); }
///<summary> ///Purpose : Generate quotation (quotation target already exists) ///Parameters: dsGenerateQuotationData /// dtHeader[0] /// - ContractCode = N0000000385 /// - InstallationFee = 472000.75 /// - InstallationSlipNo = 0001001201005009 /// - InstallationEngineerEmpNo = 490441 /// - ApproveNo1 = AR-000000005009 /// - ApproveNo2 = null /// dtInstrumentDetails[] /// - dtInstrumentDetails[0] /// - InstrumentCode = IQ-600NB /// - InstallQty = 25 /// - AcmAddQty = 3 /// - AcmRemoveQty = 0 /// - dtInstrumentDetails[1] /// - InstrumentCode = JKT-03120 /// - InstallQty = 12 /// - AcmAddQty = 0 /// - AcmRemoveQty = 2 /// - dtInstrumentDetails[2] /// - InstrumentCode = SMK-2000A /// - InstallQty = 10 /// - AcmAddQty = 0 /// - AcmRemoveQty = 0 /// - dtInstrumentDetails[3] /// - InstrumentCode = UL135S /// - InstallQty = 0 /// - AcmAddQty = 6 /// - AcmRemoveQty = 0 /// - dtInstrumentDetails[4] /// - InstrumentCode = YV10X5B-SA2-PRO /// - InstallQty = 1 /// - AcmAddQty = 17 /// - AcmRemoveQty = 4 ///Expected : See expectation test case9 ///</summary> public string Case9() { IQuotationHandler target = ServiceContainer.GetService <IQuotationHandler>() as IQuotationHandler; dsGenerateData doUpdate = new dsGenerateData(); //header doUpdate.dtHeader = new dtHeader(); doUpdate.dtHeader.ContractCode = "N0000000385"; doUpdate.dtHeader.InstallationFee = 472000.75M; doUpdate.dtHeader.InstallationSlipNo = "0001001201005009"; doUpdate.dtHeader.InstallationEngineerEmpNo = "490441"; doUpdate.dtHeader.ApproveNo1 = "AR-000000005009"; doUpdate.dtHeader.ApproveNo2 = null; //detail doUpdate.dtInstrumentDetails = new List <dtInstrumentDetails>(); //detail[0] dtInstrumentDetails dt1 = new dtInstrumentDetails(); dt1.InstrumentCode = "IQ-600NB"; dt1.InstallQty = 25; dt1.AcmAddQty = 3; dt1.AcmRemoveQty = 0; doUpdate.dtInstrumentDetails.Add(dt1); //detail[1] dtInstrumentDetails dt2 = new dtInstrumentDetails(); dt2.InstrumentCode = "JKT-03120"; dt2.InstallQty = 12; dt2.AcmAddQty = 0; dt2.AcmRemoveQty = 2; doUpdate.dtInstrumentDetails.Add(dt2); //detail[2] dtInstrumentDetails dt3 = new dtInstrumentDetails(); dt3.InstrumentCode = "SMK-2000A"; dt3.InstallQty = 10; dt3.AcmAddQty = 0; dt3.AcmRemoveQty = 0; doUpdate.dtInstrumentDetails.Add(dt3); //detail[3] dtInstrumentDetails dt4 = new dtInstrumentDetails(); dt4.InstrumentCode = "UL135S"; dt4.InstallQty = 0; dt4.AcmAddQty = 6; dt4.AcmRemoveQty = 0; doUpdate.dtInstrumentDetails.Add(dt4); //detail[4] dtInstrumentDetails dt5 = new dtInstrumentDetails(); dt5.InstrumentCode = "YV10X5B-SA2-PRO"; dt5.InstallQty = 1; dt5.AcmAddQty = 17; dt5.AcmRemoveQty = 4; doUpdate.dtInstrumentDetails.Add(dt5); string expected = "AA"; string actual; try { CommonUtil.dsTransData.dtOperationData.GUID = "Case9"; actual = target.GenerateQuotation(doUpdate); } catch (ApplicationErrorException ex) { actual = ex.ErrorResult.Message.Code; } catch (Exception ex) { actual = ex.StackTrace; } return(string.Format(RESULT_FORMAT, 9, expected, actual, CompareResult_String(expected, actual))); }
///<summary> ///Purpose : Generate quotation (quotation target already exists) ///Parameters: dsGenerateQuotationData /// dtHeader[0] /// - ContractCode = N0000000346 /// - InstallationFee = 100000.00 /// - InstallationSlipNo = 0001001201004008 /// - InstallationEngineerEmpNo = 540902 /// - ApproveNo1 = AR-000000005001 /// - ApproveNo2 = AR-000000005008 /// dtInstrumentDetails[] /// - dtInstrumentDetails[0] /// - InstrumentCode = AC-A1030TH /// - InstallQty = 9999 /// - AcmAddQty = NULL /// - AcmRemoveQty = 9000 /// - dtInstrumentDetails[1] /// - InstrumentCode = GEA-CE4-D36P-IP /// - InstallQty = 20 /// - AcmAddQty = 5 /// - AcmRemoveQty = NULL /// - dtInstrumentDetails[2] /// - InstrumentCode = JKT-03120 /// - InstallQty = 56 /// - AcmAddQty = NULL /// - AcmRemoveQty = NULL /// - dtInstrumentDetails[3] /// - InstrumentCode = SP40S /// - InstallQty = 0 /// - AcmAddQty = 7 /// - AcmRemoveQty = NULL /// - dtInstrumentDetails[4] /// - InstrumentCode = HSG-IP65BIR /// - InstallQty = 40 /// - AcmAddQty = 7 /// - AcmRemoveQty = 3 ///Expected : See expectation test case7 ///</summary> public string Case7() { IQuotationHandler target = ServiceContainer.GetService <IQuotationHandler>() as IQuotationHandler; dsGenerateData doUpdate = new dsGenerateData(); //header doUpdate.dtHeader = new dtHeader(); doUpdate.dtHeader.ContractCode = "N0000000346"; doUpdate.dtHeader.InstallationFee = 100000.00M; doUpdate.dtHeader.InstallationSlipNo = "0001001201004008"; doUpdate.dtHeader.InstallationEngineerEmpNo = "540902"; doUpdate.dtHeader.ApproveNo1 = "AR-000000005001"; doUpdate.dtHeader.ApproveNo2 = "AR-000000005008"; //detail doUpdate.dtInstrumentDetails = new List <dtInstrumentDetails>(); //detail[0] dtInstrumentDetails dt1 = new dtInstrumentDetails(); dt1.InstrumentCode = "AC-A1030TH"; dt1.InstallQty = 9999; dt1.AcmAddQty = null; dt1.AcmRemoveQty = 9000; doUpdate.dtInstrumentDetails.Add(dt1); //detail[1] dtInstrumentDetails dt2 = new dtInstrumentDetails(); dt2.InstrumentCode = "GEA-CE4-D36P-IP"; dt2.InstallQty = 20; dt2.AcmAddQty = 5; dt2.AcmRemoveQty = null; doUpdate.dtInstrumentDetails.Add(dt2); //detail[2] dtInstrumentDetails dt3 = new dtInstrumentDetails(); dt3.InstrumentCode = "JKT-03120"; dt3.InstallQty = 56; dt3.AcmAddQty = null; dt3.AcmRemoveQty = null; doUpdate.dtInstrumentDetails.Add(dt3); //detail[3] dtInstrumentDetails dt4 = new dtInstrumentDetails(); dt4.InstrumentCode = "SP40S"; dt4.InstallQty = 0; dt4.AcmAddQty = 7; dt4.AcmRemoveQty = null; doUpdate.dtInstrumentDetails.Add(dt4); //detail[4] dtInstrumentDetails dt5 = new dtInstrumentDetails(); dt5.InstrumentCode = "HSG-IP65BIR"; dt5.InstallQty = 40; dt5.AcmAddQty = 7; dt5.AcmRemoveQty = 3; doUpdate.dtInstrumentDetails.Add(dt5); string expected = "AB"; string actual; try { CommonUtil.dsTransData.dtOperationData.GUID = "Case7"; actual = target.GenerateQuotation(doUpdate); } catch (ApplicationErrorException ex) { actual = ex.ErrorResult.Message.Code; } catch (Exception ex) { actual = ex.StackTrace; } return(string.Format(RESULT_FORMAT, 7, expected, actual, CompareResult_String(expected, actual))); }