public static INS_UWD_POLICY_HEAD SaveEndsmntCancl(INS_UWD_POLICY_HEAD viewPolh) { var db = new SibaModel(); var dbPolh = db.INS_UWD_POLICY_HEAD.Find(viewPolh.POLH_SYS_ID); if (dbPolh != null) { //update of policy header details dbPolh.Map(viewPolh); /*---------------- * risk update *--------------*/ foreach (var risk in viewPolh.INS_UDW_LIABILITY) { var dbrisk = db.INS_UDW_LIABILITY.Find(risk.LIA_SYS_ID); switch (risk.LIA_STATUS) { case "A": if (dbrisk != null) { db.INS_UDW_LIABILITY.Attach(dbrisk); dbrisk.Map(risk); } break; case "U": risk.LIA_STATUS = "A"; risk.LIA_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_LIABILITY.Add(risk); break; case "D": db.INS_UDW_LIABILITY.Remove(db.INS_UDW_LIABILITY.Find(risk.LIA_SYS_ID)); break; } } foreach (var fee in viewPolh.INS_UDW_POL_FEES) { var dbFee = db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID); switch (fee.POL_FEE_STATUS) { case "A": if (dbFee != null) { db.INS_UDW_POL_FEES.Attach(dbFee); dbFee.Map(fee); } break; case "U": fee.POL_FEE_STATUS = "A"; fee.POL_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_POL_FEES.Add(fee); break; case "D": db.INS_UDW_POL_FEES.Remove(db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID)); break; } } } db.SaveChanges(); return(viewPolh); }
public static INS_UWD_POLICY_HEAD save_policy(INS_UWD_POLICY_HEAD viewPolh) { var db = new SibaModel(); using (var trans = db.Database.BeginTransaction()) { try { var dbPolh = db.INS_UWD_POLICY_HEAD.Find(viewPolh.POLH_SYS_ID); switch (viewPolh.POLH_STATUS) { case "A": { //policy header before update if (dbPolh != null) { //update of policy header details db.INS_UWD_POLICY_HEAD.Attach(dbPolh); dbPolh.Map(viewPolh); /*-------------------------------- * travel head *-------------------------------*/ foreach (var trah in viewPolh.INS_UDW_TRAVEL_RISK_HEAD) { trah.TRAH_POLH_SYS_ID = viewPolh.POLH_SYS_ID; switch (trah.TRAH_STATUS) { case "A": var dbveh = db.INS_UDW_TRAVEL_RISK_HEAD.Find(trah.TRAH_SYS_ID); db.INS_UDW_TRAVEL_RISK_HEAD.Attach(dbveh); dbveh.Map(trah); break; case "U": trah.TRAH_POLH_SYS_ID = viewPolh.POLH_SYS_ID; trah.TRAH_STATUS = "A"; db.INS_UDW_TRAVEL_RISK_HEAD.Add(trah); break; case "D": db.INS_UDW_TRAVEL_RISK_HEAD.Remove(db.INS_UDW_TRAVEL_RISK_HEAD.Find(trah.TRAH_SYS_ID)); break; } } /*-------------------------------- * travel *-------------------------------*/ foreach (var bon in viewPolh.INS_UDW_TRAVEL_RISK) { var dbbon = db.INS_UDW_TRAVEL_RISK.Find(bon.TRA_SYS_ID); switch (bon.TRA_STATUS) { case "A": if (dbbon != null) { db.INS_UDW_TRAVEL_RISK.Attach(dbbon); dbbon.Map(bon); /*-------------------------------- * Risk Covers *-------------------------------*/ foreach (var cover in bon.INS_UWD_RISK_COVERS) { var dbcovers = db.INS_UWD_RISK_COVERS.Find(cover.RCOV_SYS_ID); switch (cover.RCOV_STATUS) { case "A": if (dbcovers != null) { db.INS_UWD_RISK_COVERS.Attach(dbcovers); dbcovers.Map(cover); dbcovers.RCOV_MOD_DATE = DateTime.Now; } break; case "U": cover.RCOV_STATUS = "A"; cover.RCOV_MOD_DATE = DateTime.Now; cover.RCOV_RISK_SYS_ID = bon.TRA_SYS_ID; db.INS_UWD_RISK_COVERS.Add(cover); break; case "D": if (dbcovers != null) { db.INS_UWD_RISK_COVERS.Attach(dbcovers); dbcovers.RCOV_STATUS = "D"; dbcovers.RCOV_MOD_DATE = DateTime.Now; } break; } } } break; case "U": bon.TRA_STATUS = "A"; bon.TRA_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_TRAVEL_RISK.Add(bon); break; case "D": db.INS_UDW_TRAVEL_RISK.Remove(db.INS_UDW_TRAVEL_RISK.Find(bon.TRA_SYS_ID)); break; } } foreach (var fee in viewPolh.INS_UDW_POL_FEES) { var dbFee = db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID); switch (fee.POL_FEE_STATUS) { case "A": if (dbFee != null) { db.INS_UDW_POL_FEES.Attach(dbFee); dbFee.Map(fee); } break; case "U": fee.POL_FEE_STATUS = "A"; fee.POL_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_POL_FEES.Add(fee); break; case "D": db.INS_UDW_POL_FEES.Remove(db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID)); break; } } foreach (var fees in viewPolh.INS_UDW_TRAVEL_FEES) { var dbrkfees = db.INS_UDW_TRAVEL_FEES.Find(fees.TRA_FEE_SYS_ID); switch (fees.TRA_FEE_STATUS) { case "A": if (dbrkfees != null) { db.INS_UDW_TRAVEL_FEES.Attach(dbrkfees); dbrkfees.Map(fees); } break; case "U": fees.TRA_FEE_STATUS = "A"; fees.TRA_FEE_CRTE_DATE = DateTime.Now; fees.TRA_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_TRAVEL_FEES.Add(fees); break; case "D": if (dbrkfees != null) { db.INS_UDW_TRAVEL_FEES.Attach(dbrkfees); dbrkfees.TRA_FEE_STATUS = "D"; } break; } } db.SaveChanges(); } } break; case "U": viewPolh.POLH_STATUS = "A"; //viewPolh.POLH_DISPLAY_NO = viewPolh.POLH_CMP_CODE + viewPolh.POLH_SUB_CLASS_CODE + viewPolh.POLH_SYS_ID; viewPolh.POLH_QUT_SER_NO = viewPolh.POLH_SYS_ID; /*----------------------------------------- * updating the status of related tables *---------------------------------------*/ viewPolh.INS_UDW_TRAVEL_RISK.ForEach(x => { x.TRA_STATUS = "A"; x.INS_UWD_RISK_COVERS.ForEach(c => c.RCOV_STATUS = "A"); }); viewPolh.INS_UDW_TRAVEL_RISK_HEAD.ForEach(x => x.TRAH_STATUS = "A"); db.INS_UWD_POLICY_HEAD.Add(viewPolh); db.SaveChanges(); /*--------------------------------- * create premium register record *-------------------------------*/ db.INS_PREMIUM_REGISTER.Add(new INS_PREMIUM_REGISTER { PR_ACCT_YN = "Y", PR_BC_AMOUNT = viewPolh.POLH_POL_PREM_BC, PR_BUS_SOURCE = viewPolh.POLH_BIZ_SOURCE, PR_COB = viewPolh.POLH_CLASS_CODE, PR_CRTE_BY = viewPolh.POLH_CRTE_BY, PR_CRTE_DATE = DateTime.Now.Date, PR_CURRENCY = viewPolh.POLH_CURRENCY, PR_CUST_ACCT = CustomerMdl.get_customer(viewPolh.POLH_CUST_CODE).CUS_TYPE_CODE, PR_CUST_CODE = viewPolh.POLH_CUST_CODE, PR_END_NO = (int?)viewPolh.POLH_END_NO, PR_FC_AMOUNT = viewPolh.POLH_POL_PREM_FC, PR_FX_RATE = viewPolh.POLH_CURRENCY_RATE, PR_INS_SOURCE = viewPolh.POLH_INS_SOURCE, PR_OFFICE = viewPolh.POLH_OFF_CODE, PR_POL_SYS_ID = viewPolh.POLH_SYS_ID, PR_POST_DATE = null, PR_STATUS = "A", PR_TTY_SOURCE = null, PR_TXN_REF = (int)SystemConstants.UnderwritingPremium, PR_UWD_ACCT_TYPE = viewPolh.POLH_INS_SOURCE }); break; case "D": { /*-------------------------- * update of policy details *------------------------*/ // if (dbPolh != null) { db.INS_UWD_POLICY_HEAD.Attach(dbPolh); dbPolh.POLH_STATUS = "D"; } } break; } db.SaveChanges(); trans.Commit(); return(new INS_UWD_POLICY_HEAD { POLH_SYS_ID = viewPolh.POLH_SYS_ID, POLH_END_NO = viewPolh.POLH_END_NO, POLH_STATUS = viewPolh.POLH_STATUS, POLH_POL_STATE = viewPolh.POLH_POL_STATE, POLH_TXN_STATE = viewPolh.POLH_TXN_STATE, POLH_DISPLAY_NO = viewPolh.POLH_DISPLAY_NO, POLH_QUT_SER_NO = viewPolh.POLH_QUT_SER_NO }); } catch (Exception) { trans.Rollback(); throw; } } }
public static INS_UWD_POLICY_HEAD save_policy(INS_UWD_POLICY_HEAD viewPolh) { var db = new SibaModel(); using (var trans = db.Database.BeginTransaction()) { try { var dbPolh = db.INS_UWD_POLICY_HEAD.Find(viewPolh.POLH_SYS_ID); switch (viewPolh.POLH_STATUS) { case "A": { //policy header before update if (dbPolh != null) { //update of policy header details db.INS_UWD_POLICY_HEAD.Attach(dbPolh); dbPolh.Map(viewPolh); /*-------------------------------- * Risk *-------------------------------*/ foreach (var risk in viewPolh.INS_UDW_LIABILITY) { var dbrisk = db.INS_UDW_LIABILITY.Find(risk.LIA_SYS_ID); switch (risk.LIA_STATUS) { case "A": if (dbrisk != null) { db.INS_UDW_LIABILITY.Attach(dbrisk); dbrisk.Map(risk); /*-------------------------------- * Risk Covers *-------------------------------*/ foreach (var cover in risk.INS_UWD_RISK_COVERS) { var dbcovers = db.INS_UWD_RISK_COVERS.Find(cover.RCOV_SYS_ID); switch (cover.RCOV_STATUS) { case "A": if (dbcovers != null) { db.INS_UWD_RISK_COVERS.Attach(dbcovers); dbcovers.Map(cover); dbcovers.RCOV_MOD_DATE = DateTime.Now; } break; case "U": cover.RCOV_STATUS = "A"; cover.RCOV_MOD_DATE = DateTime.Now; cover.RCOV_RISK_SYS_ID = risk.LIA_SYS_ID; db.INS_UWD_RISK_COVERS.Add(cover); break; case "D": if (dbcovers != null) { db.INS_UWD_RISK_COVERS.Attach(dbcovers); dbcovers.RCOV_STATUS = "D"; dbcovers.RCOV_MOD_DATE = DateTime.Now; } break; } } /*-------------------------------- * Risk Fees *-------------------------------*/ foreach (var fees in risk.INS_UDW_LIABILITY_FEES) { var dbrkfees = db.INS_UDW_LIABILITY_FEES.Find(fees.LIA_FEE_SYS_ID); switch (fees.LIA_FEE_STATUS) { case "A": if (dbrkfees != null) { db.INS_UDW_LIABILITY_FEES.Attach(dbrkfees); dbrkfees.Map(fees); } break; case "U": fees.LIA_FEE_STATUS = "A"; fees.LIA_FEE_CRTE_DATE = DateTime.Now; fees.LIA_FEE_RK_SYS_ID = risk.LIA_SYS_ID; db.INS_UDW_LIABILITY_FEES.Add(fees); break; case "D": if (dbrkfees != null) { db.INS_UDW_LIABILITY_FEES.Attach(dbrkfees); dbrkfees.LIA_FEE_STATUS = "D"; } break; } } } break; case "U": risk.LIA_STATUS = "A"; risk.LIA_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_LIABILITY.Add(risk); break; case "D": db.INS_UDW_LIABILITY.Remove(db.INS_UDW_LIABILITY.Find(risk.LIA_SYS_ID)); break; } } /*-------------------------------- * Policy Fees *-------------------------------*/ foreach (var fee in viewPolh.INS_UDW_POL_FEES) { var dbFee = db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID); switch (fee.POL_FEE_STATUS) { case "A": if (dbFee != null) { db.INS_UDW_POL_FEES.Attach(dbFee); dbFee.Map(fee); } break; case "U": fee.POL_FEE_STATUS = "A"; fee.POL_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_POL_FEES.Add(fee); break; case "D": db.INS_UDW_POL_FEES.Remove(db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID)); break; } } /*-------------------------------- * Risk Fees *-------------------------------*/ //foreach (var fees in viewPolh.INS_UDW_BOND_FEES) //{ // var dbrkfees = db.INS_UDW_BOND_FEES.Find(fees.BOND_FEE_SYS_ID); // switch (fees.BOND_FEE_STATUS) // { // case "A": // if (dbrkfees != null) // { // db.INS_UDW_BOND_FEES.Attach(dbrkfees); // dbrkfees.Map(fees); // } // break; // case "U": // fees.BOND_FEE_STATUS = "A"; // fees.BOND_FEE_CRTE_DATE = DateTime.Now; // fees.BOND_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; // db.INS_UDW_BOND_FEES.Add(fees); // break; // case "D": // if (dbrkfees != null) // { // db.INS_UDW_BOND_FEES.Attach(dbrkfees); // dbrkfees.BOND_FEE_STATUS = "D"; // } // break; // } //} /*------------------------------- * FAC Inward/Co-insurance Member *-------------------------------*/ foreach (var facIn in viewPolh.INS_RI_FAC_INWARD) { var dbFacIn = db.INS_RI_FAC_INWARD.Find(facIn.FINW_SYS_ID); switch (facIn.FINW_STATUS) { case "A": if (dbFacIn != null) { db.INS_RI_FAC_INWARD.Attach(dbFacIn); dbFacIn.Map(facIn); /*---------------- * Participating Companies *--------------*/ foreach (var pap in facIn.INS_RI_FAC_INW_COMPANY) { var dbcover = db.INS_RI_FAC_INW_COMPANY.Find(pap.FINW_PAP_SYS_ID); switch (pap.FINW_PAP_STATUS) { case "A": if (dbcover != null) { db.INS_RI_FAC_INW_COMPANY.Attach(dbcover); dbcover.Map(pap); } break; case "U": pap.FINW_PAP_STATUS = "A"; db.INS_RI_FAC_INW_COMPANY.Add(pap); break; case "D": db.INS_RI_FAC_INW_COMPANY.Remove(db.INS_RI_FAC_INW_COMPANY.Find(pap.FINW_PAP_SYS_ID)); break; } } } break; case "U": facIn.FINW_STATUS = "A"; facIn.FINW_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_RI_FAC_INWARD.Add(facIn); break; case "D": db.INS_RI_FAC_INWARD.Remove(db.INS_RI_FAC_INWARD.Find(facIn.FINW_SYS_ID)); break; } } /*------------------------------- * FAC Outward/Co-insurance Leader *--------------------------------*/ foreach (var facout in viewPolh.INS_RI_FAC_OUTWARD) { var dbFacOut = db.INS_RI_FAC_OUTWARD.Find(facout.FOTW_SYS_ID); switch (facout.FOTW_STATUS) { case "A": if (dbFacOut != null) { db.INS_RI_FAC_OUTWARD.Attach(dbFacOut); dbFacOut.Map(facout); } break; case "U": facout.FOTW_STATUS = "A"; facout.FOTW_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_RI_FAC_OUTWARD.Add(dbFacOut); break; case "D": db.INS_RI_FAC_OUTWARD.Remove(db.INS_RI_FAC_OUTWARD.Find(facout.FOTW_SYS_ID)); break; } } //db.SaveChanges(); } } break; case "U": viewPolh.POLH_STATUS = "A"; //viewPolh.POLH_DISPLAY_NO = viewPolh.POLH_CMP_CODE + viewPolh.POLH_SUB_CLASS_CODE + viewPolh.POLH_SYS_ID; viewPolh.POLH_QUT_SER_NO = viewPolh.POLH_SYS_ID; /*----------------------------------------- * updating the status of related tables *---------------------------------------*/ viewPolh.INS_UDW_LIABILITY.ForEach(x => { x.LIA_STATUS = "A"; x.INS_UWD_RISK_COVERS.ForEach(c => c.RCOV_STATUS = "A"); }); db.INS_UWD_POLICY_HEAD.Add(viewPolh); db.SaveChanges(); /*--------------------------------- * create premium register record *-------------------------------*/ db.INS_PREMIUM_REGISTER.Add(new INS_PREMIUM_REGISTER { PR_ACCT_YN = "Y", PR_BC_AMOUNT = viewPolh.POLH_POL_PREM_BC, PR_BUS_SOURCE = viewPolh.POLH_BIZ_SOURCE, PR_COB = viewPolh.POLH_CLASS_CODE, PR_CRTE_BY = viewPolh.POLH_CRTE_BY, PR_CRTE_DATE = DateTime.Now.Date, PR_CURRENCY = viewPolh.POLH_CURRENCY, PR_CUST_ACCT = CustomerMdl.get_customer(viewPolh.POLH_CUST_CODE).CUS_TYPE_CODE, PR_CUST_CODE = viewPolh.POLH_CUST_CODE, PR_END_NO = (int?)viewPolh.POLH_END_NO, PR_FC_AMOUNT = viewPolh.POLH_POL_PREM_FC, PR_FX_RATE = viewPolh.POLH_CURRENCY_RATE, PR_INS_SOURCE = viewPolh.POLH_INS_SOURCE, PR_OFFICE = viewPolh.POLH_OFF_CODE, PR_POL_SYS_ID = viewPolh.POLH_SYS_ID, PR_POST_DATE = null, PR_STATUS = "A", PR_TTY_SOURCE = null, PR_TXN_REF = (int)SystemConstants.UnderwritingPremium, PR_UWD_ACCT_TYPE = viewPolh.POLH_INS_SOURCE }); break; case "D": { /*-------------------------- * update of policy details *------------------------*/ // if (dbPolh != null) { db.INS_UWD_POLICY_HEAD.Attach(dbPolh); dbPolh.POLH_STATUS = "D"; } } break; } db.SaveChanges(); trans.Commit(); return(new INS_UWD_POLICY_HEAD { POLH_SYS_ID = viewPolh.POLH_SYS_ID, POLH_END_NO = viewPolh.POLH_END_NO, POLH_STATUS = viewPolh.POLH_STATUS, POLH_POL_STATE = viewPolh.POLH_POL_STATE, POLH_TXN_STATE = viewPolh.POLH_TXN_STATE, POLH_DISPLAY_NO = viewPolh.POLH_DISPLAY_NO, POLH_QUT_SER_NO = viewPolh.POLH_QUT_SER_NO }); } catch (Exception) { trans.Rollback(); throw; } } }
public static INS_UWD_POLICY_HEAD SaveEndsmntCancl(INS_UWD_POLICY_HEAD viewPolh) { var db = new SibaModel(); var dbPolh = db.INS_UWD_POLICY_HEAD.Find(viewPolh.POLH_SYS_ID); if (dbPolh != null) { //update of policy header details //db.INS_UWD_POLICY_HEAD.Attach(dbPolh); dbPolh.Map(viewPolh); /*---------------- * motor update *--------------*/ foreach (var veh in viewPolh.INS_UWD_VEHICLE_RISK) { var dbveh = db.INS_UWD_VEHICLE_RISK.Find(veh.VEH_SYS_ID); switch (veh.VEH_STATUS) { case "A": if (dbveh != null) { db.INS_UWD_VEHICLE_RISK.Attach(dbveh); dbveh.Map(veh); } break; case "U": veh.VEH_STATUS = "A"; veh.VEH_POLH_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UWD_VEHICLE_RISK.Add(veh); break; case "D": db.INS_UWD_VEHICLE_RISK.Remove(db.INS_UWD_VEHICLE_RISK.Find(veh.VEH_SYS_ID)); break; } } foreach (var fee in viewPolh.INS_UDW_POL_FEES) { var dbFee = db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID); switch (fee.POL_FEE_STATUS) { case "A": if (dbFee != null) { db.INS_UDW_POL_FEES.Attach(dbFee); dbFee.Map(fee); } break; case "U": fee.POL_FEE_STATUS = "A"; fee.POL_FEE_POL_SYS_ID = viewPolh.POLH_SYS_ID; db.INS_UDW_POL_FEES.Add(fee); break; case "D": db.INS_UDW_POL_FEES.Remove(db.INS_UDW_POL_FEES.Find(fee.POL_FEE_SYS_ID)); break; } } } db.SaveChanges(); return(viewPolh); }