public Common.Model.CurrentStatus.LifeInsurance GetById(int id, int plannerId)
        {
            try
            {
                Logger.LogInfo("Get: Life insurance by id process start");
                Common.Model.CurrentStatus.LifeInsurance lifeInsurance =
                    new Common.Model.CurrentStatus.LifeInsurance();

                DataTable dtAppConfig = DataBase.DBService.ExecuteCommand(string.Format(SELECT_BY_ID, id, plannerId));
                foreach (DataRow dr in dtAppConfig.Rows)
                {
                    lifeInsurance = convertToLifeInsuranceObject(dr);
                }
                Logger.LogInfo("Get: Life insurance by id process completed.");
                return(lifeInsurance);
            }
            catch (Exception ex)
            {
                StackTrace st = new StackTrace();
                StackFrame sf = st.GetFrame(0);
                MethodBase currentMethodName = sf.GetMethod();
                LogDebug(currentMethodName.Name, ex);
                return(null);
            }
        }
 private Common.Model.CurrentStatus.LifeInsurance convertToLifeInsuranceObject(DataRow dr)
 {
     Common.Model.CurrentStatus.LifeInsurance lifeInsurance = new Common.Model.CurrentStatus.LifeInsurance();
     lifeInsurance.Id                     = dr.Field <int>("ID");
     lifeInsurance.Pid                    = dr.Field <int>("PID");
     lifeInsurance.Applicant              = dr.Field <string>("Applicant");
     lifeInsurance.Branch                 = dr.Field <string>("Branch");
     lifeInsurance.Agent                  = dr.Field <string>("Agent");
     lifeInsurance.DateOfIssue            = dr.Field <DateTime>("DateOfIssue");
     lifeInsurance.MaturityDate           = dr.Field <DateTime>("MaturityDate");
     lifeInsurance.Company                = dr.Field <string>("Company");
     lifeInsurance.PolicyName             = dr.Field <string>("PolicyName");
     lifeInsurance.PolicyNo               = dr.Field <string>("PolicyNo");
     lifeInsurance.Premium                = double.Parse(dr["Premium"].ToString());
     lifeInsurance.Terms                  = dr.Field <int>("Terms");
     lifeInsurance.PremiumPayTerm         = dr.Field <string>("PremiumPayTerm");
     lifeInsurance.SumAssured             = double.Parse(dr["SumAssured"].ToString());
     lifeInsurance.Status                 = dr.Field <string>("Status");
     lifeInsurance.ModeOfPayment          = dr.Field <string>("ModeOfPayment");
     lifeInsurance.Moneyback              = dr.Field <string>("Moneyback");
     lifeInsurance.NextPremDate           = dr.Field <DateTime?>("NextPremDate");
     lifeInsurance.AccidentalDeathBenefit = double.Parse(dr["AccidentalDeathBenefit"].ToString());
     lifeInsurance.Type                   = dr.Field <string>("Type");
     lifeInsurance.Appointee              = dr.Field <string>("Appointee");
     lifeInsurance.Nominee                = dr.Field <string>("Nominee");
     lifeInsurance.Relation               = dr.Field <string>("Relation");
     lifeInsurance.LoanTaken              = double.Parse(dr["LoanTaken"].ToString());
     lifeInsurance.LoanDate               = dr.Field <DateTime?>("LoanDate");
     lifeInsurance.BalanceUnit            = dr.Field <string>("BalanceUnit");
     lifeInsurance.AsOnDate               = dr.Field <DateTime?>("AsOnDate");
     lifeInsurance.CurrentValue           = double.Parse(dr["CurrentValue"].ToString());
     lifeInsurance.ExpectedMaturityValue  = double.Parse(dr["ExpectedMaturityValue"].ToString());
     lifeInsurance.Rider1                 = dr.Field <string>("Ridder1");
     lifeInsurance.Rider1Amount           = double.Parse(dr["Ridder1Amount"].ToString());
     lifeInsurance.Rider2                 = dr.Field <string>("Ridder2");
     lifeInsurance.Rider2Amount           = double.Parse(dr["Ridder2Amount"].ToString());
     lifeInsurance.Remarks                = dr.Field <string>("Remarks");
     lifeInsurance.UpdatedBy              = dr.Field <int>("UpdatedBy");
     lifeInsurance.UpdatedOn              = dr.Field <DateTime>("UpdatedOn");
     lifeInsurance.UpdatedByUserName      = dr.Field <string>("UpdatedByUserName");
     lifeInsurance.LastPremiumDate        = dr.Field <DateTime?>("LastPremiumDate");
     lifeInsurance.SetReminder            = (dr["SetReminder"] == DBNull.Value) ? false  : bool.Parse(dr["SetReminder"].ToString());
     return(lifeInsurance);
 }
        public void Update(Common.Model.CurrentStatus.LifeInsurance lifeInsurance)
        {
            try
            {
                string clientName = DataBase.DBService.ExecuteCommandScalar(string.Format(GET_CLIENT_NAME_QUERY, lifeInsurance.Pid));

                DataBase.DBService.BeginTransaction();
                DataBase.DBService.ExecuteCommandString(string.Format(UPDATE_LIFE_INSURANCE,
                                                                      lifeInsurance.Applicant,
                                                                      lifeInsurance.Branch, lifeInsurance.DateOfIssue.ToString("yyyy-MM-dd hh:mm:ss"), lifeInsurance.MaturityDate.ToString("yyyy-MM-dd hh:mm:ss"),
                                                                      lifeInsurance.Company, lifeInsurance.PolicyName, lifeInsurance.PolicyNo, lifeInsurance.Premium,
                                                                      lifeInsurance.Terms, lifeInsurance.PremiumPayTerm, lifeInsurance.SumAssured, lifeInsurance.Status,
                                                                      lifeInsurance.ModeOfPayment, lifeInsurance.Moneyback,
                                                                      (lifeInsurance.NextPremDate == null) ? null : lifeInsurance.NextPremDate.Value.ToString("yyyy-MM-dd hh:mm:ss"),
                                                                      lifeInsurance.AccidentalDeathBenefit,
                                                                      lifeInsurance.Type, lifeInsurance.Appointee, lifeInsurance.Nominee, lifeInsurance.Relation,
                                                                      lifeInsurance.LoanTaken,
                                                                      (lifeInsurance.LoanDate == null) ? null : lifeInsurance.LoanDate.Value.ToString("yyyy-MM-dd hh:mm:ss"),
                                                                      lifeInsurance.BalanceUnit,
                                                                      (lifeInsurance.AsOnDate == null) ? null : lifeInsurance.AsOnDate.Value.ToString("yyyy-MM-dd hh:mm:ss"),
                                                                      lifeInsurance.CurrentValue, lifeInsurance.ExpectedMaturityValue, lifeInsurance.Rider1,
                                                                      lifeInsurance.Rider1Amount, lifeInsurance.Rider2, lifeInsurance.Rider2Amount, lifeInsurance.Remarks,
                                                                      lifeInsurance.AttachmentPath,
                                                                      lifeInsurance.UpdatedOn.ToString("yyyy-MM-dd hh:mm:ss"), lifeInsurance.UpdatedBy, lifeInsurance.Agent, lifeInsurance.Id, lifeInsurance.Pid,
                                                                      lifeInsurance.LastPremiumDate,
                                                                      (lifeInsurance.SetReminder == true) ? 1 : 0), true);

                Activity.ActivitiesService.Add(ActivityType.UpdateLifeInsurance, EntryStatus.Success,
                                               Source.Server, lifeInsurance.UpdatedByUserName, clientName, lifeInsurance.MachineName);
                DataBase.DBService.CommitTransaction();
            }
            catch (Exception ex)
            {
                DataBase.DBService.RollbackTransaction();
                StackTrace st = new StackTrace();
                StackFrame sf = st.GetFrame(0);
                MethodBase currentMethodName = sf.GetMethod();
                LogDebug(currentMethodName.Name, ex);
                throw ex;
            }
        }
        public void Delete(Common.Model.CurrentStatus.LifeInsurance lifeInsurance)
        {
            try
            {
                string clientName = DataBase.DBService.ExecuteCommandScalar(string.Format(GET_CLIENT_NAME_QUERY, lifeInsurance.Pid));

                DataBase.DBService.BeginTransaction();
                DataBase.DBService.ExecuteCommandString(string.Format(DELETE_LIFE_INSURNACE,
                                                                      lifeInsurance.Id, lifeInsurance.Pid), true);

                Activity.ActivitiesService.Add(ActivityType.DeleteLifeInsurance, EntryStatus.Success,
                                               Source.Server, lifeInsurance.UpdatedByUserName, clientName, lifeInsurance.MachineName);
                DataBase.DBService.CommitTransaction();
            }
            catch (Exception ex)
            {
                DataBase.DBService.RollbackTransaction();
                StackTrace st = new StackTrace();
                StackFrame sf = st.GetFrame(0);
                MethodBase currentMethodName = sf.GetMethod();
                LogDebug(currentMethodName.Name, ex);
                throw ex;
            }
        }