Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID   = objUsrDet.RoleID;
            string UserOfficeID = objUsrDet.OfficeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, DbSettings.Menus.CIF);
                if (Access == CustEnum.PageAccess.Yes)
                {
                    string rr  = null;
                    string did = null;
                    string dcn = null;
                    try
                    {
                        rr  = Request.QueryString["rr"];  //redirect reason
                        did = Request.QueryString["did"]; //client id
                        dcn = Request.QueryString["dcn"]; //client name

                        if (rr == "s")
                        {
                            //gloErrHO.InnerHtml = String.Format(UiMsg.CIF.ClientAdded, "<a href='" + did + "'>" + dcn + "</a>").SuccessWrap();
                            gloErrHO.InnerHtml = String.Format(UiMsg.CIF.ClientAdded, "<a href='#'>" + dcn + "</a>").SuccessWrap();
                        }
                    }
                    catch { }

                    if (!Page.IsPostBack)
                    {
                        {
                            Office  objOff = new Office();
                            DataSet dsOff  = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.Village);

                            StringBuilder sbrVillage = new StringBuilder();
                            string        OffID;
                            string        OffName;

                            sbrVillage.Append("<select id='drpVil' class='span2'>");
                            //sbrVillage.Append("<option id='0'>Select</option>");
                            foreach (DataRow dr in dsOff.Tables[0].Rows)
                            {
                                OffID   = dr["OfficeID"].ToString();
                                OffName = dr["OfficeName"].ToString();

                                sbrVillage.Append("<option id='" + OffID + "'>" + OffName + "</option>");
                            }
                            sbrVillage.Append("</select>");
                            uxClientVill.InnerHtml = sbrVillage.ToString();
                        }
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.LoanRepayment;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID   = objUsrDet.RoleID;
            string UserOfficeID = objUsrDet.OfficeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    Office objOff  = new Office();
                    Loans  objLoan = new Loans();

                    DataSet       dsCen     = objOff.GetAllCentersForUserID(UserID);
                    StringBuilder sbrCenter = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsCen, 0))
                    {
                        sbrCenter.Append("<select class='span2' id='drpCenter'>");
                        sbrCenter.Append("<option value='0'>Select Center</option>");

                        foreach (DataRow dr in dsCen.Tables[0].Rows)
                        {
                            string CenterID  = dr["CenterID"].ToString();
                            string VillageID = dr["ParentOfficeID"].ToString();

                            sbrCenter.Append("<option class='" + VillageID + "' value='" + CenterID + "'>Center " + CenterID + "</option>");
                        }
                        sbrCenter.Append("</select>");
                        uxDrpCenterWrap.InnerHtml = sbrCenter.ToString();
                    } //center
                }
                else
                {
                    uxRepayWrap.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
            else
            {
                uxRepayWrap.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
            }
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Form["AjaxMethod"] == "laf")
            {
                Sessions objSess = new Sessions();

                string UserID = objSess.GetUserID();

                string OpResult = CustEnum.Generic.Error_SessionExpired.ToString();

                if (UserID != null)
                {
                    //string VillageID = Request.Form["Vil"]; //if time permits, try to check if the clients belong to this village!
                    string CenterID  = Request.Form["Cen"];
                    string FeID      = Request.Form["FE"];
                    string LpID      = Request.Form["LP"];
                    string ClientObj = Request.Form["Client"];

                    int ClientCount      = 0;
                    int ClientGroupCount = 0;
                    int LoanCount        = 0;

                    OpResult = CustEnum.LAF.Error_Default.ToString();

                    StringBuilder sbrErrorMsgs = new StringBuilder();

                    LAF objCLi = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <LAF>(ClientObj);

                    ClientCount = objCLi.clients.Count;

                    if (ClientCount > 0)
                    {
                        //populate error trace
                        sbrErrorMsgs.AppendLine("Center: " + CenterID);
                        sbrErrorMsgs.AppendLine("FeID: " + FeID);
                        sbrErrorMsgs.AppendLine("Lpid: " + LpID);
                        sbrErrorMsgs.AppendLine("Formatted Client object str: " + ClientObj.SafeSqlLiteral(1));

                        //create group.
                        int GroupID;

                        Users objUser = new Users();

                        int.TryParse(objUser.CreateGroup(CenterID, FeID, UserID), out GroupID);

                        if (GroupID > 0)
                        {
                            //foreach (var item in objCLi.clients)
                            for (int ctr = 0; ctr < objCLi.clients.Count; ctr++)
                            {
                                string ClientID   = objCLi.clients[ctr].CliID;
                                string LoanAmount = objCLi.clients[ctr].Amnt;
                                string PurposeID  = objCLi.clients[ctr].PurpID;
                                string LoanCycle  = objCLi.clients[ctr].Cycle;

                                int IsLeader = 0;
                                if (ctr == 0)
                                {
                                    IsLeader = 1; //only the first client will be group leader
                                }

                                //add client to group
                                int GroupClientID;
                                int.TryParse(objUser.AddGroupClient(GroupID.ToString(), ClientID, IsLeader.ToString(), UserID), out GroupClientID);

                                if (GroupClientID > 0)
                                {
                                    ClientGroupCount++;

                                    //apply loan for the client.
                                    Loans objLoan = new Loans();

                                    int LoanID;
                                    int.TryParse(objLoan.ApplyLoanForClient(GroupClientID.ToString(), DbSettings.LoanStatus.Applied, LpID, FeID, LoanAmount, PurposeID, UserID), out LoanID);

                                    if (LoanID > 0)
                                    {
                                        LoanCount++;
                                    }
                                    else
                                    {
                                        //error. loan not applied.
                                        sbrErrorMsgs.AppendLine("Loan not applied for Client: " + ClientID + "");
                                    }
                                }
                                else
                                {
                                    //error: client not added to group client table
                                    sbrErrorMsgs.AppendLine("Client: " + ClientID + " not added to Group.");
                                }
                            }
                        }
                        else
                        {
                            //error. group creation failed.
                            sbrErrorMsgs.AppendLine("Group creation failed");
                        }

                        if ((ClientCount == ClientGroupCount) && (ClientCount == LoanCount))
                        {
                            OpResult = CustEnum.LAF.Success_.ToString() + GroupID.ToString();
                        }
                        else
                        {
                            Common objErr = new Common();

                            string ErrorID = objErr.LogError(DbSettings.ErrorType.LafProcess, sbrErrorMsgs.ToString(), UserID);

                            OpResult = CustEnum.LAF.Error_Process_.ToString() + ErrorID;
                        }
                    }
                    else
                    {
                        //error. no clients
                        // OpResult = CustEnum.LAF.Error_NoClients.ToString();
                    }
                }

                Response.Write(OpResult);
                Response.End();
            } //LAF



            if (Request.Form["AjaxMethod"] == "disburse")
            {
                Sessions objSess = new Sessions();

                string UserID = objSess.GetUserID();

                string OpResult = CustEnum.Disbursement.Error_Default.ToString();

                if (UserID != null)
                {
                    string GroupID      = Request.Form["GID"];
                    string Interest     = Request.Form["Int"];
                    string Installments = Request.Form["Inst"];
                    string LoanData     = Request.Form["LoanData"];

                    int SuccessCtr = 0; //to count no of successfull trans

                    Disbursement objDisb = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <Disbursement>(LoanData);

                    if (objDisb.loan.Count > 0)
                    {
                        Loans objLoan = new Loans();

                        for (int ctr = 0; ctr < objDisb.loan.Count; ctr++)
                        {
                            string LoanID       = objDisb.loan[ctr].LoanID;
                            string DisbAmount   = objDisb.loan[ctr].Amnt;
                            string DisbDate     = objDisb.loan[ctr].DisbDate;
                            string FirstRepDate = objDisb.loan[ctr].FrDate;
                            string Emi          = objDisb.loan[ctr].Emi;

                            if (FirstRepDate == "")
                            {
                                FirstRepDate = null;
                            }

                            if (Emi == "")
                            {
                                Emi = null;
                            }

                            if (objLoan.DisburseLoan(LoanID, UserID, GroupID, DbSettings.GroupStatus.Active, DisbAmount, Interest, Installments, DisbDate, FirstRepDate, Emi) == CustEnum.Disbursement.Success_.ToString())
                            {
                                SuccessCtr++;
                            }
                        }

                        if (SuccessCtr == objDisb.loan.Count)
                        {
                            OpResult = CustEnum.Disbursement.Success_.ToString();
                        }
                        else
                        {
                            Common objErr = new Common();

                            string ErrorID = objErr.LogError(DbSettings.ErrorType.RPSError, GroupID, UserID);

                            OpResult = CustEnum.Disbursement.Error_Process_.ToString() + ErrorID;
                        }
                    }
                }

                Response.Write(OpResult);
                Response.End();
            }


            if (Request.Form["AjaxMethod"] == "RejectLoan")
            {
                string GroupID = Request.Form["GID"];

                string OpResult = CustEnum.DeleteOffice.Error.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    string Result = objOff.DeleteGroup(GroupID, UserID, DbSettings.LoanStatus.Rejected);

                    if (Result != CustEnum.Generic.Error_Default.ToString())
                    {
                        if (Result == "1") // string comp is guaranteed to be safe check. else have to handle null/err cases
                        {
                            OpResult = CustEnum.DeleteOffice.Success.ToString();
                        }
                        //else if (Result == "-1")
                        //{
                        //    OpResult = CustEnum.DeleteOffice.HasSubOffice.ToString();
                        //}
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            }


            if (Request.Form["AjaxMethod"] == "AddLP")
            {
                string LpName     = Request.Form["Name"].SafeSqlLiteral(1);
                string MaxAmount  = Request.Form["Amount"];
                string Interest   = Request.Form["Interest"];
                string Tenure     = Request.Form["Tenure"];
                string FSID       = Request.Form["FS"];
                string RepTypeID  = Request.Form["RepType"];
                string RepDays    = Request.Form["RepDays"];
                string CycleRange = Request.Form["CycleRange"];

                string LcMin1 = null;
                string LcMin2 = null;
                string LcMin3 = null;
                string LcMin4 = null;
                string LcMin5 = null;

                string LcMax1 = null;
                string LcMax2 = null;
                string LcMax3 = null;
                string LcMax4 = null;
                string LcMax5 = null;

                if (!string.IsNullOrEmpty(CycleRange))
                {
                    int Length = CycleRange.Split('~').Length;

                    for (int ctr = 0; ctr < Length; ctr++)
                    {
                        string CycleID = (CycleRange.Split('~')[ctr]).Split('_')[0];

                        if (CycleID == "1")
                        {
                            LcMin1 = (CycleRange.Split('~')[ctr]).Split('_')[1];
                            LcMax1 = (CycleRange.Split('~')[ctr]).Split('_')[2];
                        }

                        if (CycleID == "2")
                        {
                            LcMin2 = (CycleRange.Split('~')[ctr]).Split('_')[1];
                            LcMax2 = (CycleRange.Split('~')[ctr]).Split('_')[2];
                        }

                        if (CycleID == "3")
                        {
                            LcMin3 = (CycleRange.Split('~')[ctr]).Split('_')[1];
                            LcMax3 = (CycleRange.Split('~')[ctr]).Split('_')[2];
                        }

                        if (CycleID == "4")
                        {
                            LcMin4 = (CycleRange.Split('~')[ctr]).Split('_')[1];
                            LcMax4 = (CycleRange.Split('~')[ctr]).Split('_')[2];
                        }

                        if (CycleID == "5")
                        {
                            LcMin5 = (CycleRange.Split('~')[ctr]).Split('_')[1];
                            LcMax5 = (CycleRange.Split('~')[ctr]).Split('_')[2];
                        }
                    }
                }


                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Loans objLoan = new Loans();
                    int   LPID    = 0;
                    int   RepValue;

                    int.TryParse(RepDays, out RepValue);

                    if (RepValue < 1)
                    {
                        RepDays = "0";
                    }

                    int.TryParse(objLoan.AddLoanProduct(LpName, MaxAmount, Interest, Tenure, FSID, RepTypeID, RepDays, UserID, LcMin1, LcMin2, LcMin3, LcMin4, LcMin5, LcMax1, LcMax2, LcMax3, LcMax4, LcMax5), out LPID);

                    if (LPID > 0)
                    {
                        OpResult = CustEnum.Generic.Success_.ToString() + LPID.ToString();
                    }
                }


                Response.Write(OpResult);
                Response.End();
            }

            if (Request.Form["AjaxMethod"] == "DeleteLP")
            {
                string LPID = Request.Form["LPID"];

                string OpResult = CustEnum.DeleteLP.Error.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Loans objLoan = new Loans();

                    int Result;

                    int.TryParse(objLoan.DeleteLP(LPID, UserID), out Result);

                    if (Result == 1)
                    {
                        OpResult = CustEnum.DeleteLP.Success.ToString();
                    }

                    else if (Result == -1)
                    {
                        OpResult = CustEnum.DeleteLP.LinkedToLoan.ToString();
                    }
                }

                Response.Write(OpResult);
                Response.End();
            }



            if (Request.Form["AjaxMethod"] == "GetMeetingDatesForCenter")
            {
                string CenterID = Request.Form["CenterID"];

                string OpResult      = CustEnum.Generic.Error_Default.ToString();
                bool   IsFirstRecord = true; //to skip disabled attribute if more than one rep dates are present for a center


                Loans objLoan = new Loans();

                DataSet dsDate = objLoan.GetPlannedMeetingDateForCenter(CenterID);

                StringBuilder sbrDate = new StringBuilder();

                if (!DataUtils.IsDataSetNull(dsDate, 0))
                {
                    //sbrDate.Append("<select class='span2' id='drpPlannedDate'>");
                    //sbrDate.Append("<option value='0'>Select Center</option>");

                    foreach (DataRow dr in dsDate.Tables[0].Rows)
                    {
                        string Date = dr["PlannedDate"].ToString();

                        if (IsFirstRecord)
                        {
                            sbrDate.Append("<option value='" + Date + "'>" + DateTime.Parse(Date).ToDateShortMonth(false, '-') + "</option>");
                            IsFirstRecord = false;
                        }
                        else
                        {
                            sbrDate.Append("<option value='" + Date + "' disabled='disabled' style='color:red'>" + DateTime.Parse(Date).ToDateShortMonth(false, '-') + "</option>");
                        }
                    }
                    //sbrDate.Append("</select>");

                    OpResult = sbrDate.ToString();
                }


                Response.Write(OpResult);
                Response.End();
            }


            if (Request.Form["AjaxMethod"] == "GetRepaymentData")
            {
                string CenterID      = Request.Form["CenterID"];
                string PlannedDate   = Request.Form["PlannedDate"];
                bool   IsReport      = false;
                int    LoanRecordCtr = 0; //to check if there is any loan record pushed to ui. If 0, no need to generate the "rep. process button";

                try
                {
                    if (Request.Form["IsReport"] == "1")
                    {
                        IsReport = true;
                    }
                }
                catch (Exception ex)
                {
                }

                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Loans objLoan = new Loans();

                DataSet dsRep = objLoan.GetRepaymentDataForCenterID(CenterID, DateTime.Parse(PlannedDate));

                StringBuilder sbrRepData = new StringBuilder();

                if (!DataUtils.IsDataSetNull(dsRep, 0))
                {
                    DataTable dt = dsRep.Tables[0];

                    //filter unique loans
                    var distinctGroups = (from row in dt.AsEnumerable()
                                          where row.Field <DateTime>("PlannedDate") == DateTime.Parse(PlannedDate)
                                          select row.Field <int>("GroupID")).Distinct();

                    foreach (var UniqueGroupID in distinctGroups)
                    {
                        //filter unique loans
                        var distinctLoans = (from row in dt.AsEnumerable()
                                             where row.Field <int>("GroupID") == int.Parse(UniqueGroupID.ToString())
                                             select row.Field <int>("LoanID")).Distinct();

                        double GroupTotalDue = 0;

                        foreach (var UniqueLoanID in distinctLoans)
                        {
                            //get the record for the current meeting date
                            var currentLoan = from myRow in dt.AsEnumerable()
                                              where myRow.Field <int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field <DateTime>("PlannedDate") == DateTime.Parse(PlannedDate)
                                              select myRow;

                            foreach (DataRow dr in currentLoan)
                            {
                                LoanRecordCtr++;

                                string LoanID        = dr["LoanID"].ToString();
                                string LoanInstID    = dr["LoanInstID"].ToString();
                                string ClientID      = dr["ClientID"].ToString();
                                string ClientName    = dr["Name"].ToString();
                                string ProductName   = dr["ProductName"].ToString();
                                int    InstallmentNo = (from myRow in dt.AsEnumerable()
                                                        where myRow.Field <int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field <DateTime>("PlannedDate") <= DateTime.Parse(PlannedDate)
                                                        select myRow).Count();

                                //double TotalExpectedPrincipal = (from myRow in dt.AsEnumerable()
                                //                                 where myRow.Field<int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field<DateTime>("PlannedDate") < DateTime.Parse(PlannedDate)
                                //                                 select myRow).Sum(row => row.Field<double>("ExpectedPrincipal"));

                                //double TotalExpectedInterest = (from myRow in dt.AsEnumerable()
                                //                               where myRow.Field<int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field<DateTime>("PlannedDate") < DateTime.Parse(PlannedDate)
                                //                                select myRow).Sum(row => row.Field<double>("ExpectedInterest"));


                                //double TotalCollectedInterest = (from myRow in dt.AsEnumerable()
                                //                                 where myRow.Field<int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field<DateTime>("PlannedDate") < DateTime.Parse(PlannedDate)
                                //                                 select myRow).Sum(row => row.Field<double>("CollectedInterest"));

                                //double TotalCollectedPrincipal = (from myRow in dt.AsEnumerable()
                                //                                  where myRow.Field<int>("LoanID") == int.Parse(UniqueLoanID.ToString()) && myRow.Field<DateTime>("PlannedDate") < DateTime.Parse(PlannedDate)
                                //                                 select myRow).Sum(row => row.Field<double>("CollectedPrincipal"));

                                double OverdueInterest  = double.Parse(dr["OverdueInterest"].ToString());
                                double OverduePrincipal = double.Parse(dr["OverduePrincipal"].ToString());

                                //if( (TotalExpectedInterest - TotalCollectedInterest) > 0)
                                //    OverdueInterest =  TotalExpectedInterest - TotalCollectedInterest;

                                //if ((TotalExpectedPrincipal - TotalCollectedPrincipal) > 0)
                                //    OverduePrincipal = TotalExpectedPrincipal - TotalCollectedPrincipal;

                                double CurrentPrincipal = double.Parse(dr["ExpectedPrincipal"].ToString());
                                double CurrentInterest  = double.Parse(dr["ExpectedInterest"].ToString());

                                double CurrentDue = CurrentPrincipal + OverduePrincipal + CurrentInterest + OverdueInterest;

                                GroupTotalDue += CurrentDue;

                                //html
                                sbrRepData.Append("<tr id='TR_" + LoanInstID + "'>");
                                sbrRepData.Append("<td>" + LoanID + "</td>");
                                sbrRepData.Append("<td>" + ClientID + "</td>");
                                sbrRepData.Append("<td>" + ClientName + "</td>");
                                sbrRepData.Append("<td>" + ProductName + "</td>");
                                sbrRepData.Append("<td>" + InstallmentNo.ToString() + "</td>");
                                sbrRepData.Append("<td>" + OverdueInterest.ToString() + "</td>");
                                sbrRepData.Append("<td>" + OverduePrincipal.ToString() + "</td>");
                                sbrRepData.Append("<td>" + CurrentInterest.ToString() + "</td>");
                                sbrRepData.Append("<td>" + CurrentPrincipal.ToString() + "</td>");
                                sbrRepData.Append("<td>" + CurrentDue.ToString() + "</td>");

                                if (IsReport)
                                {
                                    sbrRepData.Append("<td></td><td></td><td></td><td></td><td></td><td></td>");
                                }
                                else
                                {
                                    sbrRepData.Append("<td><input type='text' class='input-mini' value='" + OverdueInterest.ToString() + "' id='ODI_" + LoanInstID + "'/></td>");
                                    sbrRepData.Append("<td><input type='text' class='input-mini' value='" + OverduePrincipal.ToString() + "' id='ODP_" + LoanInstID + "' /></td>");
                                    sbrRepData.Append("<td><input type='text' class='input-mini' value='" + CurrentInterest.ToString() + "' id='CI_" + LoanInstID + "'/></td>");
                                    sbrRepData.Append("<td><input type='text' class='input-mini' value='" + CurrentPrincipal.ToString() + "' id='CP_" + LoanInstID + "'/></td>");
                                    sbrRepData.Append("<td><input type='text' class='input-mini' value='" + CurrentDue.ToString() + "' id='TD_" + LoanInstID + "'/></td>");
                                    sbrRepData.Append("<td><input type='text' class='input-mini' id='RNO_" + LoanInstID + "'/></td>");
                                }
                                sbrRepData.Append("</tr>");
                                break;
                            }
                        } //unique loan

                        sbrRepData.Append("<tr>");
                        sbrRepData.Append("<td colspan='9'><strong>Group Total</strong></td>");
                        sbrRepData.Append("<td><strong>" + GroupTotalDue + "</strong></td>");
                        sbrRepData.Append("<td colspan='6'></td>");
                        sbrRepData.Append("</tr>");
                    }//unique group

                    if (LoanRecordCtr > 0 && !IsReport)
                    {
                        sbrRepData.Append("<tr>");
                        sbrRepData.Append("<td colspan='16'>");
                        sbrRepData.Append("<a id='btnSaveRep' class='btn btn-large btn-success pull-right'><i class='icon-white icon-check'></i> Save</a>");
                        sbrRepData.Append("</td>");
                        sbrRepData.Append("</tr>");
                    }

                    OpResult = sbrRepData.ToString();
                }


                Response.Write(OpResult);
                Response.End();
            }



            if (Request.Form["AjaxMethod"] == "repayment")
            {
                string CollectionDate = Request.Form["CollecDate"];
                string RepaymentData  = Request.Form["RepData"];

                string         OpResult  = CustEnum.Generic.Error_Default.ToString();
                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();
                string         UserID    = objUsrDet.UserID;

                Repayment objRep = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize <Repayment>(RepaymentData);

                int SuccessfulUpdateCtr = 0;

                if (objRep.repayment.Count > 0)
                {
                    Loans objLoan = new Loans();

                    for (int ctr = 0; ctr < objRep.repayment.Count; ctr++)
                    {
                        string LoanInstID    = objRep.repayment[ctr].LoanInstID;
                        string CollectedAmnt = objRep.repayment[ctr].CollectedAmnt;
                        string ReceiptNo     = objRep.repayment[ctr].ReceiptNo;

                        if (objLoan.SaveRepaymentData(LoanInstID, CollectedAmnt, CollectionDate, ReceiptNo, UserID))
                        {
                            SuccessfulUpdateCtr++;
                        }
                    }
                }

                if (objRep.repayment.Count == SuccessfulUpdateCtr)
                {
                    OpResult = "success";
                }

                Response.Write(OpResult);
                Response.End();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string OfficeID = null;

            try
            {
                OfficeID = (string)Page.RouteData.Values[AppRoutes.AreaOffice.ValOfficeID];
            }
            catch (Exception ex)
            {
            }

            if (OfficeID != null)
            {
                //CHECK FOR USER ACCESS

                string OfficeTypeID = DbSettings.OfficeType.AreaOffice;

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;
                string UserRoleID   = objUsrDet.RoleID;

                string UserOfficeID     = objUsrDet.OfficeID;
                string UserOfficeTypeID = objUsrDet.OfficeTypeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    //check if user can access this office type

                    DataSet       ds          = objUsr.GetMenusActionsForRoleID(UserRoleID);
                    List <string> MenuActions = ds.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();
                    bool          AccessView  = MenuActions.Contains(DbSettings.AccessOffice.ViewAoTab);

                    if (AccessView)
                    {
                        //check if user can access this office of OfficeID

                        Office objOff = new Office();

                        CustEnum.PageAccess CanAccessOffice = CustEnum.PageAccess.Error;

                        if ((UserOfficeTypeID == OfficeTypeID) && (UserOfficeID == OfficeID))
                        {
                            CanAccessOffice = CustEnum.PageAccess.Yes;
                        }
                        else if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeID))
                        {
                            if (objOff.CheckIfSubOfficeExistUnderOfficeID(UserOfficeID, OfficeID) == "1")
                            {
                                CanAccessOffice = CustEnum.PageAccess.Yes;
                            }
                            else if (objOff.CheckIfSubOfficeExistUnderOfficeID(UserOfficeID, OfficeID) == "0")
                            {
                                CanAccessOffice = CustEnum.PageAccess.No;
                            }
                        }


                        if (CanAccessOffice == CustEnum.PageAccess.Yes)
                        {
                            //user can access this page

                            //Check for MenuActions privileges

                            hdnOid.Value = OfficeID;

                            bool AccessEditAO = MenuActions.Contains(DbSettings.AccessOffice.EditAo);
                            bool AccessViewBO = MenuActions.Contains(DbSettings.AccessOffice.ViewBoTab);

                            #region build page data

                            if (AccessView)
                            {
                                DataSet dsOff = objOff.GetOfficeDetails(OfficeID);
                                if (!DataUtils.IsDataSetNull(dsOff, 0))
                                {
                                    DataRow drOff = dsOff.Tables[0].Rows[0];

                                    string OffName   = drOff["OfficeName"].ToString();
                                    string OffAddr   = drOff["Address"].ToString();
                                    string OffPhone1 = drOff["Phone1"].ToString();
                                    string OffPhone2 = drOff["Phone2"].ToString();
                                    string OffFax    = drOff["Fax"].ToString();
                                    string OffEmail  = drOff["EmailID"].ToString();

                                    spnName.InnerHtml = OffName;
                                    spnAddr.InnerHtml = OffAddr;
                                    spnPh1.InnerHtml  = OffPhone1;
                                    spnPh2.InnerHtml  = OffPhone2;
                                    spnFax.InnerHtml  = OffFax;
                                    spnMail.InnerHtml = OffEmail;

                                    //edit options. must follow only after view is completed
                                    if (!AccessEditAO)
                                    {
                                        editOff.InnerHtml = "";
                                    }
                                }
                                else
                                {
                                    viewRO.InnerHtml = UiMsg.PageRO.ViewAoFetchErr.ErrorWrap();
                                }
                            }
                            else
                            {
                                viewRO.InnerHtml = "";
                            }


                            if (AccessViewBO)
                            {
                                DataSet dsSubOff = objOff.GetAllImmediateSubOffices(OfficeID, DbSettings.OfficeType.BranchOffice);

                                if (!DataUtils.IsDataSetNull(dsSubOff, 0))
                                {
                                    StringBuilder sbrSubOff = new StringBuilder();

                                    foreach (DataRow dr in dsSubOff.Tables[0].Rows)
                                    {
                                        string SubOffName = dr["OfficeName"].ToString();
                                        string SubOffAddr = dr["Address"].ToString();
                                        string SubOffPh   = dr["Phone1"].ToString();
                                        string SubOffURL  = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                        sbrSubOff.Append("<tr>");
                                        sbrSubOff.Append("<td>");
                                        sbrSubOff.Append("<a href='" + SubOffURL + "'>" + SubOffName + "</a>");
                                        sbrSubOff.Append("</td>");
                                        sbrSubOff.Append("<td>" + SubOffAddr + "</td>");
                                        sbrSubOff.Append("<td>" + SubOffPh + "</td>");
                                        sbrSubOff.Append("</tr>");
                                    }
                                    uxSubOfficeTblBody.InnerHtml = sbrSubOff.ToString();
                                }
                                else
                                {
                                    viewSubOff.InnerHtml = UiMsg.PageRO.ViewBoFetchErr.ErrorWrap();
                                }
                            }
                            else
                            {
                                viewSubOff.InnerHtml = "";
                            }

                            #endregion build page data
                        }
                        else if (CanAccessOffice == CustEnum.PageAccess.No)
                        {
                            uxOffcontent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                        }
                    } //view access
                    else
                    {
                        uxOffcontent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                    }
                }
                else
                {
                    Sessions objSession = new Sessions();
                    objSession.EndSession("&" + AppSettings.QueryStr.SessionExpired.Name + "=" + AppSettings.QueryStr.SessionExpired.Value);
                }
            }
            else
            {
                //error
                uxOffcontent.InnerHtml = UiMsg.Global.NoOfficeExists.ErrorWrap();
            }
        }
Beispiel #5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                #region var

                string ClientName  = uxClientName.Value.Trim().SafeSqlLiteral(1);
                string ClientVill  = hdnOID.Value.Trim().SafeSqlLiteral(1);
                string CreatedByID = UserID;

                string Gender = uxClientGender.Value;
                string Xof    = uxClientXof.Value.Trim().SafeSqlLiteral(1);
                string Age    = uxClientAge.Value.Trim().SafeSqlLiteral(1);

                //family det
                string FamilyName = uxFamilyName1.Value.Trim().SafeSqlLiteral(1) +
                                    AppSettings.Delimitter +
                                    uxFamilyName2.Value.Trim().SafeSqlLiteral(1) +
                                    AppSettings.Delimitter +
                                    uxFamilyName3.Value.Trim().SafeSqlLiteral(1) +
                                    AppSettings.Delimitter +
                                    uxFamilyName4.Value.Trim().SafeSqlLiteral(1) +
                                    AppSettings.Delimitter +
                                    uxFamilyName5.Value.Trim().SafeSqlLiteral(1);

                string FamilyRel = uxFamilyRel1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyRel2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyRel3.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyRel4.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyRel5.Value.Trim().SafeSqlLiteral(1);

                string FamilySex = uxFamilyGender1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyGender2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyGender3.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyGender4.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyGender5.Value.Trim().SafeSqlLiteral(1);

                string FamilyAge = uxFamilyAge1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyAge2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyAge3.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyAge4.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxFamilyAge5.Value.Trim().SafeSqlLiteral(1);

                string FamilyOccupation = uxFamilyOccu1.Value.Trim().SafeSqlLiteral(1) +
                                          AppSettings.Delimitter +
                                          uxFamilyOccu2.Value.Trim().SafeSqlLiteral(1) +
                                          AppSettings.Delimitter +
                                          uxFamilyOccu3.Value.Trim().SafeSqlLiteral(1) +
                                          AppSettings.Delimitter +
                                          uxFamilyOccu4.Value.Trim().SafeSqlLiteral(1) +
                                          AppSettings.Delimitter +
                                          uxFamilyOccu5.Value.Trim().SafeSqlLiteral(1);

                string FamilyEducation = uxFamilyEdu1.Value.Trim().SafeSqlLiteral(1) +
                                         AppSettings.Delimitter +
                                         uxFamilyEdu2.Value.Trim().SafeSqlLiteral(1) +
                                         AppSettings.Delimitter +
                                         uxFamilyEdu3.Value.Trim().SafeSqlLiteral(1) +
                                         AppSettings.Delimitter +
                                         uxFamilyEdu4.Value.Trim().SafeSqlLiteral(1) +
                                         AppSettings.Delimitter +
                                         uxFamilyEdu5.Value.Trim().SafeSqlLiteral(1);

                //earnings

                string EarningNature = uxEarningNature1.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningNature2.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningNature3.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningNature4.Value.Trim().SafeSqlLiteral(1);

                string EarningIncome = uxEarningREvenue1.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningREvenue2.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningREvenue3.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxEarningREvenue4.Value.Trim().SafeSqlLiteral(1);

                string EarningExpen = uxEarningExpen1.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxEarningExpen2.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxEarningExpen3.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxEarningExpen4.Value.Trim().SafeSqlLiteral(1);

                string EarningSurplus = uxEarningSurplus1.Value.Trim().SafeSqlLiteral(1) +
                                        AppSettings.Delimitter +
                                        uxEarningSurplus2.Value.Trim().SafeSqlLiteral(1) +
                                        AppSettings.Delimitter +
                                        uxEarningSurplus3.Value.Trim().SafeSqlLiteral(1) +
                                        AppSettings.Delimitter +
                                        uxEarningSurplus4.Value.Trim().SafeSqlLiteral(1);

                string Caste             = uxCaste.Value;
                string Address           = uxClientAddress.Value.Trim().SafeSqlLiteral(1);
                string PIN               = uxClientPIN.Value.Trim().SafeSqlLiteral(1);
                string Phone             = uxClientPhone.Value.Trim().SafeSqlLiteral(1);
                string HasSavingsAccount = uxClientBankAcc.Value;

                string ConsumptionExpen        = uxconsExpen.Value.Trim().SafeSqlLiteral(1);
                string ConsumptionFestiveExpen = uxConsFestive.Value.Trim().SafeSqlLiteral(1);

                string AssetVillage = uxAssetVillage.Value.Trim().SafeSqlLiteral(1);
                string AssetPlotNo  = uxAssetPlotNo.Value.Trim().SafeSqlLiteral(1);
                string AssetExtent  = uxAssetExtent.Value.Trim().SafeSqlLiteral(1);
                string AssetRooms   = uxAssetRooms.Value.Trim().SafeSqlLiteral(1);
                string AssetRoof    = uxAssetRoof.Value.Trim().SafeSqlLiteral(1);
                string AssetValue   = uxAssetValue.Value.Trim().SafeSqlLiteral(1);


                string AssetDesc = uxAssetDesc1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxAssetDesc2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxAssetDesc3.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxAssetDesc4.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxAssetDesc5.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxAssetDesc6.Value.Trim().SafeSqlLiteral(1);


                string AssetValue2 = uxAssetMkVal1.Value.Trim().SafeSqlLiteral(1) +
                                     AppSettings.Delimitter +
                                     uxAssetMkVal2.Value.Trim().SafeSqlLiteral(1) +
                                     AppSettings.Delimitter +
                                     uxAssetMkVal3.Value.Trim().SafeSqlLiteral(1) +
                                     AppSettings.Delimitter +
                                     uxAssetMkVal4.Value.Trim().SafeSqlLiteral(1) +
                                     AppSettings.Delimitter +
                                     uxAssetMkVal5.Value.Trim().SafeSqlLiteral(1) +
                                     AppSettings.Delimitter +
                                     uxAssetMkVal6.Value.Trim().SafeSqlLiteral(1);

                string Creditsource = uxCreditsource1.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxCreditsource2.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxCreditsource3.Value.Trim().SafeSqlLiteral(1);


                string CreditROI = uxCreditROI1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxCreditROI2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxCreditROI3.Value.Trim().SafeSqlLiteral(1);

                string CreditPeriod = uxCreditPeriod1.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxCreditPeriod2.Value.Trim().SafeSqlLiteral(1) +
                                      AppSettings.Delimitter +
                                      uxCreditPeriod3.Value.Trim().SafeSqlLiteral(1);


                string CreditPurpose = uxCreditPurpose1.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxCreditPurpose2.Value.Trim().SafeSqlLiteral(1) +
                                       AppSettings.Delimitter +
                                       uxCreditPurpose3.Value.Trim().SafeSqlLiteral(1);


                string CreditBorrowed = uxCreditBorrowed1.Value.Trim().SafeSqlLiteral(1) +
                                        AppSettings.Delimitter +
                                        uxCreditBorrowed2.Value.Trim().SafeSqlLiteral(1) +
                                        AppSettings.Delimitter +
                                        uxCreditBorrowed3.Value.Trim().SafeSqlLiteral(1);


                string CreditDue = uxCreditDue1.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxCreditDue2.Value.Trim().SafeSqlLiteral(1) +
                                   AppSettings.Delimitter +
                                   uxCreditDue3.Value.Trim().SafeSqlLiteral(1);


                string NomineeName    = uxNomineeName.Value.Trim().SafeSqlLiteral(1);
                string NomineeRel     = uxNomineeRel.Value.Trim().SafeSqlLiteral(1);
                string NomineeAge     = uxNomineeAge.Value.Trim().SafeSqlLiteral(1);
                string NomineeVillage = uxNomineePlace.Value.Trim().SafeSqlLiteral(1);

                #endregion var

                #region fnCall
                string Result = objUsr.AddNewClient(
                    ClientName
                    , DbSettings.ClientStatus.Idle
                    , ClientVill
                    , CreatedByID
                    , Gender
                    , Xof
                    , Age
                    , FamilyName
                    , FamilyRel
                    , FamilySex
                    , FamilyAge
                    , FamilyOccupation
                    , FamilyEducation
                    , EarningNature
                    , EarningIncome
                    , EarningExpen
                    , EarningSurplus
                    , ConsumptionExpen
                    , ConsumptionFestiveExpen
                    , Caste
                    , Address
                    , PIN
                    , Phone
                    , HasSavingsAccount
                    , AssetVillage
                    , AssetPlotNo
                    , AssetExtent
                    , AssetRooms
                    , AssetRoof
                    , AssetValue
                    , AssetDesc
                    , AssetValue2
                    , Creditsource
                    , CreditROI
                    , CreditPeriod
                    , CreditPurpose
                    , CreditBorrowed
                    , CreditDue
                    , NomineeName
                    , NomineeRel
                    , NomineeAge
                    , NomineeVillage
                    );

                #endregion fnCall

                int InsertedID;
                int.TryParse(Result, out InsertedID);

                if (InsertedID > 0)
                {
                    Response.Redirect(AppRoutes.ClientInfoForm.URL + "?rr=s&did=" + InsertedID + "&dcn=" + uxClientName.Value);
                }
                else
                {
                    gloErrHO.InnerHtml = UiMsg.CIF.AddErr.ErrorWrap();
                }
            }
        }
Beispiel #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;
            string UserRoleID   = objUsrDet.RoleID;

            string UserOfficeTypeID = objUsrDet.OfficeTypeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                if (UserOfficeTypeID == DbSettings.OfficeType.HeadOffice)
                {
                    //user can access this page

                    DataSet ds = objUsr.GetMenusActionsForRoleID(UserRoleID);

                    List <string> MenuActions = ds.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();

                    //Check for MenuActions privileges
                    bool AccessViewHo = MenuActions.Contains(DbSettings.AccessOffice.ViewHoTab);
                    bool AccessEditHO = MenuActions.Contains(DbSettings.AccessOffice.EditHo);
                    bool AccessViewRO = MenuActions.Contains(DbSettings.AccessOffice.ViewRoTab);

                    Office objOff = new Office();

                    if (AccessViewHo)
                    {
                        DataSet dsOff = objOff.GetAllImmediateSubOffices("0", DbSettings.OfficeType.HeadOffice);
                        if (!DataUtils.IsDataSetNull(dsOff, 0))
                        {
                            DataRow drOff = dsOff.Tables[0].Rows[0];

                            string OffName    = drOff["OfficeName"].ToString();
                            string OffAddr    = drOff["Address"].ToString();
                            string OffPhone1  = drOff["Phone1"].ToString();
                            string OffPhone2  = drOff["Phone2"].ToString();
                            string OffFax     = drOff["Fax"].ToString();
                            string OffEmail   = drOff["EmailID"].ToString();
                            string OffWebsite = drOff["Website"].ToString();

                            spnName.InnerHtml = OffName;
                            spnAddr.InnerHtml = OffAddr;
                            spnPh1.InnerHtml  = OffPhone1;
                            spnPh2.InnerHtml  = OffPhone2;
                            spnFax.InnerHtml  = OffFax;
                            spnMail.InnerHtml = OffEmail;
                            spnWeb.InnerHtml  = "<a href='http://" + OffWebsite + "' target='_blank'>" + OffWebsite + "</a>";

                            //edit options. must follow only after view is completed
                            if (!AccessEditHO)
                            {
                                editHO.InnerHtml = "";
                            }
                        }
                        else
                        {
                            viewHO.InnerHtml = UiMsg.PageHO.ViewHoFetchErr.ErrorWrap();
                        }
                    }
                    else
                    {
                        viewHO.InnerHtml = "";
                    }


                    if (AccessViewRO)
                    {
                        DataSet dsSubOff = objOff.GetAllImmediateSubOffices(DbSettings.OfficeType.HeadOffice, DbSettings.OfficeType.RegionalOffice);

                        if (!DataUtils.IsDataSetNull(dsSubOff, 0))
                        {
                            StringBuilder sbrSubOff = new StringBuilder();

                            foreach (DataRow dr in dsSubOff.Tables[0].Rows)
                            {
                                string SubOffName = dr["OfficeName"].ToString();
                                string SubOffAddr = dr["Address"].ToString();
                                string SubOffPh   = dr["Phone1"].ToString();
                                string SubOffURL  = Page.GetRouteUrl(AppRoutes.RegionalOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                sbrSubOff.Append("<tr>");
                                sbrSubOff.Append("<td>");
                                sbrSubOff.Append("<a href='" + SubOffURL + "'>" + SubOffName + "</a>");
                                sbrSubOff.Append("</td>");
                                sbrSubOff.Append("<td>" + SubOffAddr + "</td>");
                                sbrSubOff.Append("<td>" + SubOffPh + "</td>");
                                sbrSubOff.Append("</tr>");
                            }
                            uxSubOfficeTblBody.InnerHtml = sbrSubOff.ToString();
                        }
                        else
                        {
                            viewRO.InnerHtml = UiMsg.PageHO.ViewRoFetchErr.ErrorWrap();
                        }
                    }
                    else
                    {
                        viewRO.InnerHtml = "";
                    }
                }
                else
                {
                    gloErrHO.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
            else
            {
                Sessions objSession = new Sessions();
                objSession.EndSession("&" + AppSettings.QueryStr.SessionExpired.Name + "=" + AppSettings.QueryStr.SessionExpired.Value);
            }
        }
Beispiel #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.Office;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID       = objUsrDet.RoleID;
            string UserOfficeID     = objUsrDet.OfficeID;
            string UserOfficeTypeID = objUsrDet.OfficeTypeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);
                if (Access == CustEnum.PageAccess.Yes)
                {
                    DataSet ds = objUsr.GetMenusActionsForRoleID(UserRoleID);

                    List <string> MenuActions = ds.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();

                    bool AccessViewHoTab = MenuActions.Contains(DbSettings.AccessOffice.ViewHoTab);

                    bool AccessViewRoTab = MenuActions.Contains(DbSettings.AccessOffice.ViewRoTab);
                    bool AccessAddRo     = MenuActions.Contains(DbSettings.AccessOffice.AddRo);
                    bool AccessDeleteRo  = MenuActions.Contains(DbSettings.AccessOffice.DeleteRo);

                    bool AccessViewAoTab = MenuActions.Contains(DbSettings.AccessOffice.ViewAoTab);
                    bool AccessAddAo     = MenuActions.Contains(DbSettings.AccessOffice.AddAo);
                    bool AccessDeleteAo  = MenuActions.Contains(DbSettings.AccessOffice.DeleteAo);

                    bool AccessViewBoTab = MenuActions.Contains(DbSettings.AccessOffice.ViewBoTab);
                    bool AccessAddBo     = MenuActions.Contains(DbSettings.AccessOffice.AddBo);
                    bool AccessDeleteBo  = MenuActions.Contains(DbSettings.AccessOffice.DeleteBo);

                    bool AccessViewVilTab = MenuActions.Contains(DbSettings.AccessOffice.ViewVilTab);
                    bool AccessAddVil     = MenuActions.Contains(DbSettings.AccessOffice.AddVil);
                    bool AccessDeleteVil  = MenuActions.Contains(DbSettings.AccessOffice.DeleteVil);

                    Office objOff = new Office();

                    StringBuilder sbrTab        = new StringBuilder();
                    StringBuilder sbrTabContent = new StringBuilder();

                    //tab typeID
                    string OfficeTypeIdHO  = DbSettings.OfficeType.HeadOffice;
                    string OfficeTypeIdRO  = DbSettings.OfficeType.RegionalOffice;
                    string OfficeTypeIdAO  = DbSettings.OfficeType.AreaOffice;
                    string OfficeTypeIdBO  = DbSettings.OfficeType.BranchOffice;
                    string OfficeTypeIdVil = DbSettings.OfficeType.Village;

                    #region HO TAB
                    if (AccessViewHoTab)
                    {
                        if (OfficeTypeIdHO == UserOfficeTypeID)
                        {
                            //user belongs to this office level

                            sbrTab.Append("<li class='active'><a href='#HO' data-toggle='tab'>Head Office</a></li>");

                            DataSet dsOff = objOff.GetOfficeDetails(DbSettings.Fixed.HOID);
                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                DataRow drOff = dsOff.Tables[0].Rows[0];

                                string OffURL = Page.GetRouteUrl(AppRoutes.HeadOffice.Name, new { });

                                string OffName    = drOff["OfficeName"].ToString();
                                string OffAddr    = drOff["Address"].ToString();
                                string OffPhone1  = drOff["Phone1"].ToString();
                                string OffPhone2  = drOff["Phone2"].ToString();
                                string OffFax     = drOff["Fax"].ToString();
                                string OffEmail   = drOff["EmailID"].ToString();
                                string OffWebsite = drOff["Website"].ToString();

                                sbrTabContent.Append("<div class='tab-pane active' id='HO'>");

                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Head Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");
                                sbrTabContent.Append("<th>Website</th>");
                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                sbrTabContent.Append("<td>" + OffFax + "</td>");
                                sbrTabContent.Append("<td>" + OffEmail + "</td>");
                                sbrTabContent.Append("<td><a href='http://" + OffWebsite + "' target='_blank'>" + OffWebsite + "</a></td>");
                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</tbody>");

                                sbrTabContent.Append("</table>");
                                sbrTabContent.Append("</div>");

                                sbrTabContent.Append("</div>");
                            }
                        }
                    } //ho tab
                    #endregion HO TAB

                    #region RO TAB
                    if (AccessViewRoTab)
                    {
                        if (UserOfficeTypeID == OfficeTypeIdRO)
                        {
                            //user belongs to this office level

                            //build tab
                            sbrTab.Append("<li class='active'><a href='#RO' data-toggle='tab'>Regional Office</a></li>");

                            //build tab data
                            DataSet dsOff = objOff.GetOfficeDetails(UserOfficeID);

                            sbrTabContent.Append("<div class='tab-pane active' id='RO'>");

                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");
                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Regional Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");
                                sbrTabContent.Append("</tr>");
                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                DataRow dr     = dsOff.Tables[0].Rows[0];
                                string  OffURL = Page.GetRouteUrl(AppRoutes.RegionalOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                string OffID     = dr["OfficeID"].ToString();
                                string OffName   = dr["OfficeName"].ToString();
                                string OffAddr   = dr["Address"].ToString();
                                string OffPhone1 = dr["Phone1"].ToString();
                                string OffPhone2 = dr["Phone2"].ToString();
                                string OffFax    = dr["Fax"].ToString();
                                string OffEmail  = dr["EmailID"].ToString();

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                sbrTabContent.Append("<td>" + OffFax + "</td>");
                                sbrTabContent.Append("<td>" + OffEmail + "</td>");
                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</tbody>");
                                sbrTabContent.Append("</table>");

                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            }
                            else
                            {
                                sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }

                            sbrTabContent.Append("</div>"); //div for tab pane
                        }
                        else if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeIdRO))
                        {
                            //this type of office coes under the user's office.

                            //tab
                            sbrTab.Append("<li><a href='#RO' data-toggle='tab'>Regional Office</a></li>");

                            //tab data
                            sbrTabContent.Append("<div class='tab-pane' id='RO'>");

                            //options
                            if (AccessAddRo)
                            {
                                sbrTabContent.Append("<div class='of-optn-wrap'>");
                                sbrTabContent.Append("<button class='btn btn-primary' id='btnAdd_" + OfficeTypeIdRO + "'><i class='icon-white icon-plus'></i>&nbsp;Create New Regional Office</button>");
                                sbrTabContent.Append("</div>");
                            }

                            //reg offices
                            DataSet dsOff = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.RegionalOffice);
                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Regional Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");

                                if (AccessDeleteRo)
                                {
                                    sbrTabContent.Append("<th><i class='icon-cog'></i>&nbsp;Options</th>");
                                }

                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                foreach (DataRow dr in dsOff.Tables[0].Rows)
                                {
                                    string OffURL = Page.GetRouteUrl(AppRoutes.RegionalOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                    string OffID     = dr["OfficeID"].ToString();
                                    string OffName   = dr["OfficeName"].ToString();
                                    string OffAddr   = dr["Address"].ToString();
                                    string OffPhone1 = dr["Phone1"].ToString();
                                    string OffPhone2 = dr["Phone2"].ToString();
                                    string OffFax    = dr["Fax"].ToString();
                                    string OffEmail  = dr["EmailID"].ToString();


                                    sbrTabContent.Append("<tr>");
                                    sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                    sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                    sbrTabContent.Append("<td>" + OffFax + "</td>");
                                    sbrTabContent.Append("<td>" + OffEmail + "</td>");

                                    if (AccessDeleteRo)
                                    {
                                        sbrTabContent.Append("<td>");
                                        sbrTabContent.Append("<button class='btn btn-danger btn-mini' id='btnDel_" + OffID + "'><i class='icon-white icon-trash'></i>&nbsp;Remove Office</button>");
                                        sbrTabContent.Append("</td>");
                                    }

                                    sbrTabContent.Append("</tr>");
                                }

                                sbrTabContent.Append("</tbody>");

                                sbrTabContent.Append("</table>");
                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            } //ds not null
                            else
                            {
                                //sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }
                            sbrTabContent.Append("</div>"); //div for tab pane
                        } //otid <
                    } //ro tab

                    #endregion RO TAB

                    #region AO TAB
                    if (AccessViewAoTab)
                    {
                        if (UserOfficeTypeID == OfficeTypeIdAO)
                        {
                            //user belongs to this office level

                            //build tab
                            sbrTab.Append("<li class='active'><a href='#AO' data-toggle='tab'>Area Office</a></li>");

                            //build tab data
                            DataSet dsOff = objOff.GetOfficeDetails(UserOfficeID);

                            sbrTabContent.Append("<div class='tab-pane active' id='AO'>");

                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");
                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Area Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");
                                sbrTabContent.Append("</tr>");
                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                DataRow dr     = dsOff.Tables[0].Rows[0];
                                string  OffURL = Page.GetRouteUrl(AppRoutes.AreaOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                string OffID     = dr["OfficeID"].ToString();
                                string OffName   = dr["OfficeName"].ToString();
                                string OffAddr   = dr["Address"].ToString();
                                string OffPhone1 = dr["Phone1"].ToString();
                                string OffPhone2 = dr["Phone2"].ToString();
                                string OffFax    = dr["Fax"].ToString();
                                string OffEmail  = dr["EmailID"].ToString();

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                sbrTabContent.Append("<td>" + OffFax + "</td>");
                                sbrTabContent.Append("<td>" + OffEmail + "</td>");
                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</tbody>");
                                sbrTabContent.Append("</table>");

                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            }
                            else
                            {
                                sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }

                            sbrTabContent.Append("</div>"); //div for tab pane
                        }
                        else if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeIdAO))
                        {
                            //this type of office coes under the user's office.

                            //tab
                            sbrTab.Append("<li><a href='#AO' data-toggle='tab'>Area Office</a></li>");

                            //tab data
                            sbrTabContent.Append("<div class='tab-pane' id='AO'>");

                            //options
                            if (AccessAddAo)
                            {
                                sbrTabContent.Append("<div class='of-optn-wrap'>");
                                sbrTabContent.Append("<button class='btn btn-primary' id='btnAdd_" + OfficeTypeIdAO + "'><i class='icon-white icon-plus'></i>&nbsp;Create New Area Office</button>");
                                sbrTabContent.Append("</div>");
                            }

                            //reg offices
                            DataSet dsOff = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.AreaOffice);
                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Area Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");

                                if (AccessDeleteAo)
                                {
                                    sbrTabContent.Append("<th><i class='icon-cog'></i>&nbsp;Options</th>");
                                }

                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                foreach (DataRow dr in dsOff.Tables[0].Rows)
                                {
                                    string OffURL = Page.GetRouteUrl(AppRoutes.AreaOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                    string OffID     = dr["OfficeID"].ToString();
                                    string OffName   = dr["OfficeName"].ToString();
                                    string OffAddr   = dr["Address"].ToString();
                                    string OffPhone1 = dr["Phone1"].ToString();
                                    string OffPhone2 = dr["Phone2"].ToString();
                                    string OffFax    = dr["Fax"].ToString();
                                    string OffEmail  = dr["EmailID"].ToString();


                                    sbrTabContent.Append("<tr>");
                                    sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                    sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                    sbrTabContent.Append("<td>" + OffFax + "</td>");
                                    sbrTabContent.Append("<td>" + OffEmail + "</td>");

                                    if (AccessDeleteAo)
                                    {
                                        sbrTabContent.Append("<td>");
                                        sbrTabContent.Append("<button class='btn btn-danger btn-mini' id='btnDel_" + OffID + "'><i class='icon-white icon-trash'></i>&nbsp;Remove Office</button>");
                                        sbrTabContent.Append("</td>");
                                    }

                                    sbrTabContent.Append("</tr>");
                                }

                                sbrTabContent.Append("</tbody>");

                                sbrTabContent.Append("</table>");
                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            } //ds not null
                            else
                            {
                                //sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }
                            sbrTabContent.Append("</div>"); //div for tab pane
                        } //otid <
                    } //ro tab

                    #endregion AO TAB

                    #region BO TAB
                    if (AccessViewBoTab)
                    {
                        if (UserOfficeTypeID == OfficeTypeIdBO)
                        {
                            //user belongs to this office level

                            //build tab
                            sbrTab.Append("<li class='active'><a href='#BO' data-toggle='tab'>Branch Office</a></li>");

                            //build tab data
                            DataSet dsOff = objOff.GetOfficeDetails(UserOfficeID);

                            sbrTabContent.Append("<div class='tab-pane active' id='BO'>");

                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");
                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Branch Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");
                                sbrTabContent.Append("</tr>");
                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                DataRow dr     = dsOff.Tables[0].Rows[0];
                                string  OffURL = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                string OffID     = dr["OfficeID"].ToString();
                                string OffName   = dr["OfficeName"].ToString();
                                string OffAddr   = dr["Address"].ToString();
                                string OffPhone1 = dr["Phone1"].ToString();
                                string OffPhone2 = dr["Phone2"].ToString();
                                string OffFax    = dr["Fax"].ToString();
                                string OffEmail  = dr["EmailID"].ToString();

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                sbrTabContent.Append("<td>" + OffFax + "</td>");
                                sbrTabContent.Append("<td>" + OffEmail + "</td>");
                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</tbody>");
                                sbrTabContent.Append("</table>");

                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            }
                            else
                            {
                                //sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }

                            sbrTabContent.Append("</div>"); //div for tab pane
                        }
                        else if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeIdBO))
                        {
                            //this type of office coes under the user's office.

                            //tab
                            sbrTab.Append("<li><a href='#BO' data-toggle='tab'>Branch Office</a></li>");

                            //tab data
                            sbrTabContent.Append("<div class='tab-pane' id='BO'>");

                            //options
                            if (AccessAddBo)
                            {
                                sbrTabContent.Append("<div class='of-optn-wrap'>");
                                sbrTabContent.Append("<button class='btn btn-primary' id='btnAdd_" + OfficeTypeIdBO + "'><i class='icon-white icon-plus'></i>&nbsp;Create New Branch Office</button>");
                                sbrTabContent.Append("</div>");
                            }

                            //reg offices
                            DataSet dsOff = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.BranchOffice);
                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered'>");

                                sbrTabContent.Append("<thead>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Branch Office</th>");
                                sbrTabContent.Append("<th>Address</th>");
                                sbrTabContent.Append("<th>Phone 1</th>");
                                sbrTabContent.Append("<th>Phone 2</th>");
                                sbrTabContent.Append("<th>Fax</th>");
                                sbrTabContent.Append("<th>Email</th>");

                                if (AccessDeleteBo)
                                {
                                    sbrTabContent.Append("<th><i class='icon-cog'></i>&nbsp;Options</th>");
                                }

                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                foreach (DataRow dr in dsOff.Tables[0].Rows)
                                {
                                    string OffURL = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                    string OffID     = dr["OfficeID"].ToString();
                                    string OffName   = dr["OfficeName"].ToString();
                                    string OffAddr   = dr["Address"].ToString();
                                    string OffPhone1 = dr["Phone1"].ToString();
                                    string OffPhone2 = dr["Phone2"].ToString();
                                    string OffFax    = dr["Fax"].ToString();
                                    string OffEmail  = dr["EmailID"].ToString();


                                    sbrTabContent.Append("<tr>");
                                    sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                    sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                    sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                    sbrTabContent.Append("<td>" + OffFax + "</td>");
                                    sbrTabContent.Append("<td>" + OffEmail + "</td>");

                                    if (AccessDeleteBo)
                                    {
                                        sbrTabContent.Append("<td>");
                                        sbrTabContent.Append("<button class='btn btn-danger btn-mini' id='btnDel_" + OffID + "'><i class='icon-white icon-trash'></i>&nbsp;Remove Office</button>");
                                        sbrTabContent.Append("</td>");
                                    }

                                    sbrTabContent.Append("</tr>");
                                }

                                sbrTabContent.Append("</tbody>");

                                sbrTabContent.Append("</table>");
                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            } //ds not null
                            else
                            {
                                //sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }
                            sbrTabContent.Append("</div>"); //div for tab pane
                        } //otid <
                    } //ro tab

                    #endregion BO TAB

                    #region VIL TAB
                    if (AccessViewVilTab)
                    {
                        #region office = vil

                        //the following scenario won't occur as per business rules

                        //if (UserOfficeTypeID == OfficeTypeIdVil)
                        //{
                        //    //user belongs to this office level

                        //    //build tab
                        //    sbrTab.Append("<li class='active'><a href='#VIL' data-toggle='tab'>Village</a></li>");

                        //    //build tab data
                        //    DataSet dsOff = objOff.GetOfficeDetails(UserOfficeID);

                        //    sbrTabContent.Append("<div class='tab-pane active' id='VIL'>");

                        //    if (!DataUtils.IsDataSetNull(dsOff, 0))
                        //    {
                        //        sbrTabContent.Append("<div class='of-tbl-wrap'>");
                        //        sbrTabContent.Append("<table class='table table-bordered'>");

                        //        sbrTabContent.Append("<thead>");
                        //        sbrTabContent.Append("<tr>");
                        //        sbrTabContent.Append("<th>Village</th>");
                        //        sbrTabContent.Append("<th>Parent Branch</th>");
                        //        //sbrTabContent.Append("<th>Address</th>");
                        //        //sbrTabContent.Append("<th>Phone 1</th>");
                        //        //sbrTabContent.Append("<th>Phone 2</th>");
                        //        //sbrTabContent.Append("<th>Fax</th>");
                        //        //sbrTabContent.Append("<th>Email</th>");
                        //        sbrTabContent.Append("</tr>");
                        //        sbrTabContent.Append("</thead>");

                        //        sbrTabContent.Append("<tbody>");

                        //        DataRow dr = dsOff.Tables[0].Rows[0];
                        //        string OffURL = Page.GetRouteUrl(AppRoutes.Village.Name, new { OfficeID = dr["OfficeID"].ToString() });

                        //        string OffID = dr["OfficeID"].ToString();
                        //        string OffName = dr["OfficeName"].ToString();
                        //        string ParentOffice = dr["ParentOfficeName"].ToString();
                        //        string OffAddr = dr["Address"].ToString();
                        //        string OffPhone1 = dr["Phone1"].ToString();
                        //        string OffPhone2 = dr["Phone2"].ToString();
                        //        string OffFax = dr["Fax"].ToString();
                        //        string OffEmail = dr["EmailID"].ToString();

                        //        sbrTabContent.Append("<tr>");
                        //        sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                        //        sbrTabContent.Append("<td>" + ParentOffice + "</td>");
                        //        //sbrTabContent.Append("<td>" + OffAddr + "</td>");
                        //        //sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                        //        //sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                        //        //sbrTabContent.Append("<td>" + OffFax + "</td>");
                        //        //sbrTabContent.Append("<td>" + OffEmail + "</td>");
                        //        sbrTabContent.Append("</tr>");

                        //        sbrTabContent.Append("</tbody>");
                        //        sbrTabContent.Append("</table>");

                        //        sbrTabContent.Append("</div>"); //div for tbl wrapper
                        //    }
                        //    else
                        //    {
                        //        sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                        //    }

                        //    sbrTabContent.Append("</div>"); //div for tab pane

                        //}

                        #endregion office = vil

                        if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeIdVil))
                        {
                            //this type of office coes under the user's office.

                            //tab
                            sbrTab.Append("<li><a href='#VIL' data-toggle='tab'>Village</a></li>");

                            //tab data
                            sbrTabContent.Append("<div class='tab-pane' id='VIL'>");

                            //options
                            if (AccessAddVil)
                            {
                                sbrTabContent.Append("<div class='of-optn-wrap'>");
                                sbrTabContent.Append("<button class='btn btn-primary' id='btnAdd_" + OfficeTypeIdVil + "'><i class='icon-white icon-plus'></i>&nbsp;Create New Village</button>");
                                sbrTabContent.Append("</div>");
                            }

                            //reg offices
                            DataSet dsOff = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.Village);
                            if (!DataUtils.IsDataSetNull(dsOff, 0))
                            {
                                sbrTabContent.Append("<div class='of-tbl-wrap'>");
                                sbrTabContent.Append("<table class='table table-bordered' id='tblVillage'>");

                                sbrTabContent.Append("<thead>");

                                sbrTabContent.Append("<tr>");
                                sbrTabContent.Append("<th>Village</th>");
                                sbrTabContent.Append("<th>Parent Branch</th>");
                                //sbrTabContent.Append("<th>Address</th>");
                                //sbrTabContent.Append("<th>Phone 1</th>");
                                //sbrTabContent.Append("<th>Phone 2</th>");
                                //sbrTabContent.Append("<th>Fax</th>");
                                //sbrTabContent.Append("<th>Email</th>");

                                if (AccessDeleteVil)
                                {
                                    sbrTabContent.Append("<th><i class='icon-cog'></i>&nbsp;Options</th>");
                                }

                                sbrTabContent.Append("</tr>");

                                sbrTabContent.Append("</thead>");

                                sbrTabContent.Append("<tbody>");

                                foreach (DataRow dr in dsOff.Tables[0].Rows)
                                {
                                    string OffURL = Page.GetRouteUrl(AppRoutes.Village.Name, new { OfficeID = dr["OfficeID"].ToString() });

                                    string OffID        = dr["OfficeID"].ToString();
                                    string OffName      = dr["OfficeName"].ToString();
                                    string ParentOffice = dr["ParentOfficeName"].ToString();
                                    string OffAddr      = dr["Address"].ToString();
                                    string OffPhone1    = dr["Phone1"].ToString();
                                    string OffPhone2    = dr["Phone2"].ToString();
                                    string OffFax       = dr["Fax"].ToString();
                                    string OffEmail     = dr["EmailID"].ToString();


                                    sbrTabContent.Append("<tr>");
                                    sbrTabContent.Append("<td><a href='" + OffURL + "'>" + OffName + "</a></td>");
                                    sbrTabContent.Append("<td>" + ParentOffice + "</td>");
                                    //sbrTabContent.Append("<td>" + OffAddr + "</td>");
                                    //sbrTabContent.Append("<td>" + OffPhone1 + "</td>");
                                    //sbrTabContent.Append("<td>" + OffPhone2 + "</td>");
                                    //sbrTabContent.Append("<td>" + OffFax + "</td>");
                                    //sbrTabContent.Append("<td>" + OffEmail + "</td>");

                                    if (AccessDeleteVil)
                                    {
                                        sbrTabContent.Append("<td>");
                                        sbrTabContent.Append("<button class='btn btn-danger btn-mini' id='btnDel_" + OffID + "'><i class='icon-white icon-trash'></i>&nbsp;Remove Village</button>");
                                        sbrTabContent.Append("</td>");
                                    }

                                    sbrTabContent.Append("</tr>");
                                }

                                sbrTabContent.Append("</tbody>");

                                sbrTabContent.Append("</table>");
                                sbrTabContent.Append("</div>"); //div for tbl wrapper
                            } //ds not null
                            else
                            {
                                //sbrTabContent.Append(UiMsg.Global.NoData.ErrorWrap());
                            }
                            sbrTabContent.Append("</div>"); //div for tab pane
                        } //otid <
                    } //ro tab

                    #endregion VIL TAB

                    tab.InnerHtml        = sbrTab.ToString();
                    tabContent.InnerHtml = "<div id='locNotHO' class='gen-not-1'></div>" + sbrTabContent.ToString();
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string CenterID = null;

            try
            {
                CenterID = (string)Page.RouteData.Values[AppRoutes.Center.ValOfficeID];
            }
            catch (Exception ex)
            {
            }

            if (CenterID != null)
            {
                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;
                string UserRoleID   = objUsrDet.RoleID;

                string UserOfficeID     = objUsrDet.OfficeID;
                string UserOfficeTypeID = objUsrDet.OfficeTypeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    //see if user has access to this page and if the page is valid

                    CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, DbSettings.Menus.Center);

                    if (Access == CustEnum.PageAccess.Yes)
                    {
                        //check for view and edit access

                        DataSet       ds          = objUsr.GetMenusActionsForRoleID(UserRoleID);
                        List <string> MenuActions = ds.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();

                        bool AccessView = MenuActions.Contains(DbSettings.AccessCenters.ViewCenterDetails);
                        bool AccessEdit = MenuActions.Contains(DbSettings.AccessCenters.EditCenter);

                        if (AccessView)
                        {
                            Office objOff = new Office();

                            hdnOid.Value = CenterID;

                            DataSet dsCen = objOff.GetCenterDetails(CenterID);

                            if (!DataUtils.IsDataSetNull(dsCen, 0))
                            {
                                DataRow drCEn = dsCen.Tables[0].Rows[0];

                                string CenterName         = "Center " + drCEn["CenterID"].ToString();
                                string MeetingLoc         = drCEn["MeetingLocation"].ToString();
                                string MeetingTime        = drCEn["MeetingTime"].ToString();
                                string FeID               = drCEn["StaffID"].ToString();
                                string CreatedOnLocalDate = string.Empty;

                                DateTime CreatedOnUTC = new DateTime();
                                CreatedOnUTC       = DateTime.SpecifyKind(DateTime.Parse(drCEn["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                                CreatedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(CreatedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(true, '-');


                                uxCenterName.InnerHtml = CenterName;
                                uxCreatedOn.InnerHtml  = CreatedOnLocalDate;
                                uxMeetingLoc.Value     = MeetingLoc;
                                uxMeetingTime.Value    = MeetingTime;

                                DataSet dsFE = objOff.GetFeByCenterID(CenterID);
                                if (!DataUtils.IsDataSetNull(dsFE, 0))
                                {
                                    StringBuilder sbrFE = new StringBuilder();
                                    sbrFE.Append("<select id='drpFE' class='cmEditable' disabled='disabled'>");

                                    foreach (DataRow drFE in dsFE.Tables[0].Rows)
                                    {
                                        if (drFE["UserID"].ToString() == FeID)
                                        {
                                            sbrFE.Append("<option selected='selected' value='" + drFE["UserID"].ToString() + "'>" + drFE["Name"].ToString() + "</option>");
                                        }
                                        else
                                        {
                                            sbrFE.Append("<option value='" + drFE["UserID"].ToString() + "'>" + drFE["Name"].ToString() + "</option>");
                                        }
                                    }
                                    sbrFE.Append("</select>");

                                    uxFE.InnerHtml = sbrFE.ToString();
                                }

                                //get groups

                                DataSet dsGroup = objOff.GetGroupsForCenterID(CenterID);

                                if (!DataUtils.IsDataSetNull(dsGroup, 0))
                                {
                                    StringBuilder sbrGrp = new StringBuilder();

                                    foreach (DataRow drGrp in dsGroup.Tables[0].Rows)
                                    {
                                        string GroupID               = drGrp["GroupID"].ToString();
                                        string GrpFeName             = drGrp["StaffName"].ToString();
                                        string GrpFeID               = drGrp["StaffID"].ToString();
                                        string GroupStatus           = drGrp["GroupStatus"].ToString();
                                        string GroupStatusClass      = drGrp["CssClass"].ToString();
                                        string GroupTitleDef         = drGrp["TitleString"].ToString();
                                        string GrpCreatedOnLocalDate = string.Empty;

                                        DateTime GrpCreatedOnUTC = DateTime.SpecifyKind(DateTime.Parse(drGrp["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                                        GrpCreatedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(GrpCreatedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(false, '-');

                                        string GroupURL = Page.GetRouteUrl(AppRoutes.Groups.Name, new { }) + "?" + AppSettings.QueryStr.Group.Name + "=" + GroupID;

                                        sbrGrp.Append("<tr>");
                                        sbrGrp.Append("<td><a href='" + GroupURL + "'>Group " + GroupID + "</a></td>");
                                        sbrGrp.Append("<td><span class='cmGrpStat " + GroupStatusClass + "' title='" + GroupTitleDef + "' >" + GroupStatus + "</span></td>");
                                        sbrGrp.Append("<td><a href='#'>" + GrpFeName + "</a></td>");
                                        sbrGrp.Append("<td>" + GrpCreatedOnLocalDate + "</td>");
                                        sbrGrp.Append("</tr>");
                                    }

                                    uxGroupBody.InnerHtml = sbrGrp.ToString();
                                }
                                else
                                {
                                    uxGroups.InnerHtml = UiMsg.Center.NoGroups.ErrorWrap();
                                }

                                //allow edit only when view is enabled
                                if (!AccessEdit)
                                {
                                    uxEditCenter.InnerHtml = "";
                                }
                            }
                            else
                            {
                                uxCenterWrap.InnerHtml = UiMsg.Center.NoCenterData.ErrorWrap();
                            }
                        }
                        else
                        {
                            uxCenterWrap.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                        }
                    }
                    else
                    {
                        uxCenterWrap.InnerHtml = UiMsg.Global.InvalidPage.ErrorWrap();
                    }
                }
                else
                {
                    uxCenterWrap.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
        }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string ReportID = null;

            try
            {
                ReportID = (string)Page.RouteData.Values["ReportID"];
            }
            catch (Exception ex)
            {
            }

            if (ReportID != null)
            {
                hdnRID.Value = ReportID;

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;
                string UserRoleID   = objUsrDet.RoleID;

                string UserOfficeID     = objUsrDet.OfficeID;
                string UserOfficeTypeID = objUsrDet.OfficeTypeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, ReportID);

                    if (Access == CustEnum.PageAccess.Yes)
                    {
                        string ReportTitle = "Report"; //default name

                        #region set page title
                        switch (ReportID)
                        {
                        case DbSettings.ReportType.CenterCollectionSheet:
                            ReportTitle = "Center Collection Sheet";
                            break;

                        case DbSettings.ReportType.DuevsCollectionBranch:
                            ReportTitle = "Due vs Collection - Branch";
                            break;

                        case DbSettings.ReportType.DuevsCollectionCenter:
                            ReportTitle = "Due vs Collection - Center";
                            break;

                        case DbSettings.ReportType.DuevsCollectionFE:
                            ReportTitle = "Due vs Collection - FE";
                            break;

                        case DbSettings.ReportType.FEDetailed:
                            ReportTitle = "FE Detailed";
                            break;

                        case DbSettings.ReportType.HOReport:
                            ReportTitle = "HO Report";
                            break;

                        case DbSettings.ReportType.LoanDisbursementReport:
                            ReportTitle = "Loan Disbursement Report";
                            break;

                        case DbSettings.ReportType.MonthlyBranchStatus:
                            ReportTitle = "Monthly Branch Status";
                            break;

                        case DbSettings.ReportType.OutstandingReportBranch:
                            ReportTitle = "Outstanding Report - Branch";
                            break;

                        case DbSettings.ReportType.OutstandingReportProduct:
                            ReportTitle = "Outstanding Report - Product";
                            break;

                        case DbSettings.ReportType.OutstandingReportVillage:
                            ReportTitle = "Outstanding Report - Village";
                            break;

                        case DbSettings.ReportType.OverdueReportBranch:
                            ReportTitle = "Overdue Report - Branch";
                            break;

                        case DbSettings.ReportType.OverdueReportCenter:
                            ReportTitle = "Overdue Report - Center";
                            break;

                        case DbSettings.ReportType.OverdueReportFE:
                            ReportTitle = "Overdue Report - FE";
                            break;

                        case DbSettings.ReportType.OverdueReportProduct:
                            ReportTitle = "Overdue Report - Product";
                            break;

                        case DbSettings.ReportType.OverdueReportVillage:
                            ReportTitle = "Overdue Report - Village";
                            break;

                        case DbSettings.ReportType.PurposeWiseLoanPortfolio:
                            ReportTitle = "Purpose Wise Loan Portfolio";
                            break;

                        case DbSettings.ReportType.SubLedgerBalances:
                            ReportTitle = "Sub-Ledger Balances";
                            break;

                        default:
                            break;
                        }

                        var page = (Page)HttpContext.Current.Handler;
                        page.Title = ReportTitle;

                        #endregion

                        uxReportTitle.InnerHtml = ReportTitle;

                        #region generate filters

                        bool ShowBranch  = true; //set to true by default
                        bool ShowVillage = false;
                        bool ShowCenter  = false;
                        bool ShowAsOn    = false;
                        bool ShowFrom    = false;
                        bool ShowTo      = false;
                        bool ShowMonth   = false;
                        bool ShowFE      = false;
                        bool ShowLP      = false;

                        //bool BranchGenerated = false;

                        //decide the filters that has to be shown
                        if (ReportID == DbSettings.ReportType.OverdueReportBranch)
                        {
                            //ShowLP = true;
                        }

                        if (ReportID == DbSettings.ReportType.OverdueReportFE ||
                            ReportID == DbSettings.ReportType.DuevsCollectionFE ||
                            ReportID == DbSettings.ReportType.FEDetailed)
                        {
                            ShowFE = true;
                        }

                        if (ReportID == DbSettings.ReportType.OverdueReportBranch)
                        {
                            //ShowVillage = true;
                        }

                        if (ReportID == DbSettings.ReportType.DuevsCollectionCenter)
                        {
                            ShowCenter = true;
                        }

                        if (ReportID == DbSettings.ReportType.OutstandingReportBranch ||
                            ReportID == DbSettings.ReportType.OutstandingReportProduct ||
                            ReportID == DbSettings.ReportType.OutstandingReportVillage ||
                            ReportID == DbSettings.ReportType.SubLedgerBalances ||
                            ReportID == DbSettings.ReportType.OverdueReportBranch ||
                            ReportID == DbSettings.ReportType.OverdueReportFE ||
                            ReportID == DbSettings.ReportType.OverdueReportCenter ||
                            ReportID == DbSettings.ReportType.OverdueReportProduct ||
                            ReportID == DbSettings.ReportType.OverdueReportVillage ||
                            ReportID == DbSettings.ReportType.PurposeWiseLoanPortfolio
                            )
                        {
                            ShowAsOn = true;
                        }

                        if (ReportID == DbSettings.ReportType.LoanDisbursementReport ||
                            ReportID == DbSettings.ReportType.DuevsCollectionBranch ||
                            ReportID == DbSettings.ReportType.DuevsCollectionCenter ||
                            ReportID == DbSettings.ReportType.DuevsCollectionFE ||
                            ReportID == DbSettings.ReportType.FEDetailed

                            )
                        {
                            ShowFrom = true;
                        }

                        if (ReportID == DbSettings.ReportType.LoanDisbursementReport ||
                            ReportID == DbSettings.ReportType.DuevsCollectionBranch ||
                            ReportID == DbSettings.ReportType.DuevsCollectionCenter ||
                            ReportID == DbSettings.ReportType.DuevsCollectionFE ||
                            ReportID == DbSettings.ReportType.FEDetailed)
                        {
                            ShowTo = true;
                        }

                        if (ReportID == DbSettings.ReportType.MonthlyBranchStatus)
                        {
                            ShowMonth = true;
                        }

                        //show required filters
                        if (ShowBranch)
                        {
                            uxLblBranch.Style.Add("display", "block");
                            uxBranchWrap.Style.Add("display", "block");
                        }

                        if (ShowFE)
                        {
                            uxLblFe.Style.Add("display", "block");
                            uxFEWrap.Style.Add("display", "block");
                        }

                        if (ShowFrom)
                        {
                            uxLblFrom.Style.Add("display", "block");
                            uxFromWrap.Style.Add("display", "block");
                        }


                        if (ShowLP)
                        {
                            uxLblLP.Style.Add("display", "block");
                            uxLPWrap.Style.Add("display", "block");
                        }

                        if (ShowMonth)
                        {
                            uxLblMonth.Style.Add("display", "block");
                            uxMonthPickerWrap.Style.Add("display", "block");
                        }

                        if (ShowTo)
                        {
                            uxLblTo.Style.Add("display", "block");
                            uxToWrap.Style.Add("display", "block");
                        }

                        if (ShowVillage)
                        {
                            uxLblVillage.Style.Add("display", "block");
                            uxVillageWrap.Style.Add("display", "block");
                        }


                        if (ShowCenter)
                        {
                            uxLblCenter.Style.Add("display", "block");
                            uxCenterWrap.Style.Add("display", "block");
                        }


                        if (ShowAsOn)
                        {
                            uxLblAsOn.Style.Add("display", "block");
                            uxAsOnWrap.Style.Add("display", "block");
                        }

                        Office objOff = new Office();

                        if (ShowBranch)
                        {
                            //branch
                            StringBuilder sbrBranch = new StringBuilder();

                            if (int.Parse(UserOfficeTypeID) < int.Parse(DbSettings.OfficeType.BranchOffice))
                            {
                                //user belongs to a higher office type, so the sp will fetch branches
                                DataSet dsBranch = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.BranchOffice);

                                sbrBranch.Append("<select class='span2' id='uxBranch'>");
                                sbrBranch.Append("<option value='0'>All Branches</option>");

                                foreach (DataRow drBranch in dsBranch.Tables[0].Rows)
                                {
                                    string BranchID   = drBranch["OfficeID"].ToString();
                                    string BranchName = drBranch["OfficeName"].ToString();

                                    sbrBranch.Append("<option value='" + BranchID + "'>" + BranchName + "</option>");
                                }
                                sbrBranch.Append("</select>");
                                uxBranchWrap.InnerHtml = sbrBranch.ToString();
                                //BranchGenerated = true;
                            }

                            else if (UserOfficeTypeID == DbSettings.OfficeType.BranchOffice)
                            {
                                //user belongs to a branch
                                DataSet dsBranchDetails = objOff.GetOfficeDetails(UserOfficeID);

                                if (!DataUtils.IsDataSetNull(dsBranchDetails, 0))
                                {
                                    sbrBranch.Append("<select disabled='disabled' class='span2' id='uxBranch'>");

                                    string BranchID   = dsBranchDetails.Tables[0].Rows[0]["OfficeID"].ToString();
                                    string BranchName = dsBranchDetails.Tables[0].Rows[0]["OfficeName"].ToString();

                                    sbrBranch.Append("<option value='" + BranchID + "'>" + BranchName + "</option>");

                                    sbrBranch.Append("</select>");
                                    uxBranchWrap.InnerHtml = sbrBranch.ToString();
                                    //BranchGenerated = true;
                                }
                            }
                        } //end branch

                        if (ShowVillage)
                        {
                            //villages
                            DataSet       dsVillage  = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.Village);
                            StringBuilder sbrVillage = new StringBuilder();

                            if (!DataUtils.IsDataSetNull(dsVillage, 0))
                            {
                                sbrVillage.Append("<select class='span2' id='uxVillage'>");
                                sbrVillage.Append("<option class='0' value='0'>All Villages</option>");

                                foreach (DataRow drVill in dsVillage.Tables[0].Rows)
                                {
                                    string VillaID  = drVill["OfficeID"].ToString();
                                    string VillName = drVill["OfficeName"].ToString();
                                    string BranchID = drVill["ParentOfficeID"].ToString();

                                    sbrVillage.Append("<option class='" + BranchID + "' value='" + VillaID + "'>" + VillName + "</option>");
                                }
                                sbrVillage.Append("</select>");
                                uxVillageWrap.InnerHtml = sbrVillage.ToString();
                            }
                        } //show village

                        if (ShowCenter)
                        {
                            //centers

                            DataSet       dsCen     = objOff.GetAllCentersForUserID(UserID);
                            StringBuilder sbrCenter = new StringBuilder();

                            if (!DataUtils.IsDataSetNull(dsCen, 0))
                            {
                                sbrCenter.Append("<select class='span2' id='uxCenter'>");
                                sbrCenter.Append("<option class='0' value='0'>All Centers</option>");

                                foreach (DataRow dr in dsCen.Tables[0].Rows)
                                {
                                    string CenterID  = dr["CenterID"].ToString();
                                    string VillageID = dr["ParentOfficeID"].ToString();

                                    sbrCenter.Append("<option class='" + VillageID + "' value='" + CenterID + "'>Center " + CenterID + "</option>");
                                }
                                sbrCenter.Append("</select>");
                                uxCenterWrap.InnerHtml = sbrCenter.ToString();
                            }
                        } //center

                        if (ShowFE)
                        {
                            DataSet       dsFE  = objOff.GetAllFE();
                            StringBuilder sbrFE = new StringBuilder();

                            if (!DataUtils.IsDataSetNull(dsFE, 0))
                            {
                                sbrFE.Append("<select class='span2' id='uxFE'>");
                                sbrFE.Append("<option class='0' value='0'>All FE</option>");

                                foreach (DataRow drFE in dsFE.Tables[0].Rows)
                                {
                                    string FeUserID = drFE["UserID"].ToString();
                                    string FeName   = drFE["Name"].ToString();
                                    string BranchID = drFE["OfficeID"].ToString();

                                    sbrFE.Append("<option class='" + BranchID + "' value='" + FeUserID + "'>" + FeName + "</option>");
                                }
                                sbrFE.Append("</select>");
                                uxFEWrap.InnerHtml = sbrFE.ToString();
                            }
                        }

                        if (ShowLP)
                        {
                            Loans         onjLoan = new Loans();
                            DataSet       dsLP    = onjLoan.GetLoanProducts(null);
                            StringBuilder sbrLP   = new StringBuilder();

                            if (!DataUtils.IsDataSetNull(dsLP, 0))
                            {
                                sbrLP.Append("<select class='span2' id='uxLP'>");
                                sbrLP.Append("<option class='0' value='0'>All Products</option>");

                                foreach (DataRow drFE in dsLP.Tables[0].Rows)
                                {
                                    string LPID   = drFE["LoanProductID"].ToString();
                                    string LPName = drFE["ProductName"].ToString();

                                    sbrLP.Append("<option value='" + LPID + "'>" + LPName + "</option>");
                                }
                                sbrLP.Append("</select>");
                                uxLPWrap.InnerHtml = sbrLP.ToString();
                            }
                        }
                    }


                    #endregion
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.LoansPending;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID   = objUsrDet.RoleID;
            string UserOfficeID = objUsrDet.OfficeID;


            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    DataSet dsLoans = objUsr.GetNewGroupsForUserID(UserID);

                    if (!DataUtils.IsDataSetNull(dsLoans, 0))
                    {
                        //display the loan count
                        LoanCount.InnerHtml = dsLoans.Tables[0].Rows.Count.ToString();

                        StringBuilder sbrLoans = new StringBuilder();

                        sbrLoans.Append("<table class='table table-bordered display' id='tblLoans'>");
                        sbrLoans.Append("<thead>");
                        sbrLoans.Append("<tr>");
                        sbrLoans.Append("<th>Loan</th>");
                        sbrLoans.Append("<th>Group</th>");
                        sbrLoans.Append("<th>Applied On</th>");
                        sbrLoans.Append("<th>Applied By</th>");
                        sbrLoans.Append("<th>Center</th>");
                        sbrLoans.Append("<th>Village</th>");
                        sbrLoans.Append("<th>Branch</th>");
                        sbrLoans.Append("</tr>");
                        sbrLoans.Append("</thead>");

                        sbrLoans.Append("<tbody>");

                        foreach (DataRow dr in dsLoans.Tables[0].Rows)
                        {
                            string GroupID = dr["GroupID"].ToString();

                            int DaysAgo;
                            int.TryParse(dr["DaysAgo"].ToString(), out DaysAgo);
                            string DaysPlurality = "Days";

                            string AppliedBy = dr["GroupStaff"].ToString();

                            string LoanURL = Page.GetRouteUrl(AppRoutes.DisburseLoans.Name, new { OfficeID = dr["GroupID"].ToString() });

                            string CenterID  = dr["CenterID"].ToString();
                            string CenterURL = Page.GetRouteUrl(AppRoutes.Center.Name, new { OfficeID = CenterID });

                            string Village    = dr["Village"].ToString();
                            string VillageURL = Page.GetRouteUrl(AppRoutes.Village.Name, new { OfficeID = dr["VillageID"].ToString() });

                            string Branch    = dr["Branch"].ToString();
                            string BranchURL = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = dr["BranchID"].ToString() });

                            DateTime AppliedOnUTC       = new DateTime();
                            string   AppliedOnLocalDate = string.Empty;

                            AppliedOnUTC       = DateTime.SpecifyKind(DateTime.Parse(dr["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                            AppliedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(AppliedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(false, '-');

                            sbrLoans.Append("<tr>");
                            sbrLoans.Append("<td><a class='btn btn-success' href='" + LoanURL + "' >View Loan Form</a></td>");

                            //the following is for the sake of table sorting where Center 8 > center 10!
                            string GroupURL = Page.GetRouteUrl(AppRoutes.Groups.Name, new { }) + "?" + AppSettings.QueryStr.Group.Name + "=" + GroupID;

                            if (int.Parse(GroupID) < 10)
                            {
                                sbrLoans.Append("<td><a href='" + GroupURL + "'>Group 0" + GroupID + "</a></td>");
                            }
                            else
                            {
                                sbrLoans.Append("<td><a href='" + GroupURL + "'>Group " + GroupID + "</a></td>");
                            }


                            if (DaysAgo <= 1)
                            {
                                DaysPlurality = "Day";
                            }

                            sbrLoans.Append("<td>" + AppliedOnLocalDate + " &nbsp;&nbsp;(" + DaysAgo.ToString() + " " + DaysPlurality + " ago)</td>");

                            sbrLoans.Append("<td>" + AppliedBy + "</td>");

                            //the following is for the sake of table sorting where Center 8 > center 10!
                            if (int.Parse(CenterID) < 10)
                            {
                                sbrLoans.Append("<td><a href='" + CenterURL + "'>Center 0" + CenterID + "</a></td>");
                            }
                            else
                            {
                                sbrLoans.Append("<td><a href='" + CenterURL + "'>Center " + CenterID + "</a></td>");
                            }

                            sbrLoans.Append("<td><a href='" + VillageURL + "'>" + Village + "</a></td>");
                            sbrLoans.Append("<td><a href='" + BranchURL + "'>" + Branch + "</a></td>");

                            sbrLoans.Append("</tr>");
                        }
                        sbrLoans.Append("</tbody>");
                        sbrLoans.Append("</table>");

                        PendingLoans.InnerHtml = sbrLoans.ToString();
                    }
                    else
                    {
                        PendingLoans.InnerHtml = UiMsg.LoansPending.NoNewLoans.InfoWrap();
                    }
                }
                else
                {
                    PendingLoans.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
            else
            {
                PendingLoans.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string OfficeID = null;

            try
            {
                OfficeID = (string)Page.RouteData.Values[AppRoutes.Village.ValOfficeID];
            }
            catch (Exception ex)
            {
            }

            if (OfficeID != null)
            {
                //CHECK FOR USER ACCESS

                string OfficeTypeID = DbSettings.OfficeType.Village;

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;
                string UserRoleID   = objUsrDet.RoleID;

                string UserOfficeID     = objUsrDet.OfficeID;
                string UserOfficeTypeID = objUsrDet.OfficeTypeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    //check if user can access this office type

                    DataSet       ds          = objUsr.GetMenusActionsForRoleID(UserRoleID);
                    List <string> MenuActions = ds.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();
                    bool          AccessView  = MenuActions.Contains(DbSettings.AccessOffice.ViewVilTab);

                    if (AccessView)
                    {
                        //check if user can access this office of OfficeID

                        Office objOff = new Office();

                        CustEnum.PageAccess CanAccessOffice = CustEnum.PageAccess.Error;

                        if ((UserOfficeTypeID == OfficeTypeID) && (UserOfficeID == OfficeID))
                        {
                            CanAccessOffice = CustEnum.PageAccess.Yes;
                        }
                        else if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeID))
                        {
                            if (objOff.CheckIfSubOfficeExistUnderOfficeID(UserOfficeID, OfficeID) == "1")
                            {
                                CanAccessOffice = CustEnum.PageAccess.Yes;
                            }
                            else if (objOff.CheckIfSubOfficeExistUnderOfficeID(UserOfficeID, OfficeID) == "0")
                            {
                                CanAccessOffice = CustEnum.PageAccess.No;
                            }
                        }


                        if (CanAccessOffice == CustEnum.PageAccess.Yes)
                        {
                            //user can access this page

                            //Check for MenuActions privileges

                            hdnOid.Value = OfficeID;

                            bool AccessEditVil = MenuActions.Contains(DbSettings.AccessOffice.EditVil);
                            bool AccessViewCen = MenuActions.Contains(DbSettings.AccessCenters.ViewCenterList);
                            bool AccessAddCen  = MenuActions.Contains(DbSettings.AccessCenters.AddCenter);
                            bool AccessDelCen  = MenuActions.Contains(DbSettings.AccessCenters.DelCenter);

                            #region build page data

                            StringBuilder sbrSubOff = new StringBuilder();

                            if (AccessView)
                            {
                                DataSet dsOff = objOff.GetOfficeDetails(OfficeID);
                                if (!DataUtils.IsDataSetNull(dsOff, 0))
                                {
                                    DataRow drOff = dsOff.Tables[0].Rows[0];

                                    string OffName = drOff["OfficeName"].ToString();

                                    spnName.InnerHtml = OffName;

                                    //edit options. must follow only after view is completed
                                    if (!AccessEditVil)
                                    {
                                        editOff.InnerHtml = "";
                                    }
                                }
                                else
                                {
                                    viewRO.InnerHtml = UiMsg.PageRO.ViewVilFetchErr.ErrorWrap();
                                }
                            }
                            else
                            {
                                viewRO.InnerHtml = "";
                            }

                            StringBuilder sbrAddCen = new StringBuilder();

                            if (AccessAddCen)
                            {
                                sbrAddCen.Append("<div>");
                                sbrAddCen.Append("<a class='btn btn-primary' id='btnAddCenter'><i class='icon-white icon-plus'></i>&nbsp;Create New Center</a>");
                                sbrAddCen.Append("</div><br/>");
                                DataSet dsFE = objOff.GetFeByVillageID(OfficeID);
                                if (!DataUtils.IsDataSetNull(dsFE, 0))
                                {
                                    DataTable dtFe = dsFE.Tables[0];

                                    StringBuilder sbrFE = new StringBuilder();
                                    sbrFE.Append("<select id='drpFE'>");
                                    sbrFE.Append("<option value='0'>Select FE</option>");

                                    foreach (DataRow drFE in dtFe.Rows)
                                    {
                                        sbrFE.Append("<option value='" + drFE["UserID"].ToString() + "'>" + drFE["Name"].ToString() + "</option>");
                                    }

                                    sbrFE.Append("</select>");

                                    FE.InnerHtml = sbrFE.ToString();
                                }
                            }

                            if (AccessViewCen)
                            {
                                DataSet dsSubOff = objOff.GetCentersForVillageID(OfficeID);
                                sbrSubOff.Append("<div id='tblCenWrap' class='vil-cent-tbl-wrap'>");

                                if (!DataUtils.IsDataSetNull(dsSubOff, 0))
                                {
                                    sbrSubOff.Append("<table class='table table-bordered vil-cen-tbl display' id='tblCenters'>");
                                    sbrSubOff.Append("<thead>");
                                    sbrSubOff.Append("<tr>");
                                    sbrSubOff.Append("<th class='off'>Center</th>");
                                    sbrSubOff.Append("<th class='off'>Field Executive</th>");
                                    sbrSubOff.Append("<th class='off'>Meeting Location</th>");
                                    sbrSubOff.Append("<th class='off'>Meeting Time</th>");
                                    sbrSubOff.Append("<th class='off'>Created On</th>");
                                    if (AccessDelCen)
                                    {
                                        sbrSubOff.Append("<th><i class='icon-cog'></i>&nbsp;Options</th>");
                                        hdnAcD.Value = "1";
                                    }
                                    sbrSubOff.Append("</tr>");
                                    sbrSubOff.Append("</thead>");
                                    sbrSubOff.Append("<tbody>");

                                    foreach (DataRow dr in dsSubOff.Tables[0].Rows)
                                    {
                                        string CenterID        = dr["CenterID"].ToString();
                                        string CenterName      = "Center " + CenterID;
                                        string MeetingLocation = dr["MeetingLocation"].ToString();
                                        string MeetingTime     = dr["MeetingTime"].ToString();
                                        string FeName          = dr["StaffName"].ToString();
                                        string FeID            = dr["StaffID"].ToString();

                                        DateTime CreatedUTC       = new DateTime();
                                        string   CreatedLocalDate = string.Empty;

                                        CreatedUTC       = DateTime.SpecifyKind(DateTime.Parse(dr["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                                        CreatedLocalDate = TimeZoneInfo.ConvertTimeFromUtc(CreatedUTC, AppSettings.TimeZoneIst).ToDateShortMonth(false, '-');

                                        string SubOffURL = Page.GetRouteUrl(AppRoutes.Center.Name, new { OfficeID = dr["CenterID"].ToString() });

                                        sbrSubOff.Append("<tr id='trCen_" + CenterID + "'>");
                                        sbrSubOff.Append("<td>");

                                        if (int.Parse(CenterID) < 10)
                                        {
                                            sbrSubOff.Append("<a href='" + SubOffURL + "'>Center 0" + CenterID + "</a>");
                                        }
                                        else
                                        {
                                            sbrSubOff.Append("<a href='" + SubOffURL + "'>Center " + CenterID + "</a>");
                                        }


                                        sbrSubOff.Append("</td>");
                                        sbrSubOff.Append("<td><a href='#'>" + FeName + "</a></td>");
                                        sbrSubOff.Append("<td>" + MeetingLocation + "</td>");
                                        sbrSubOff.Append("<td>" + MeetingTime + "</td>");
                                        sbrSubOff.Append("<td>" + CreatedLocalDate + "</td>");

                                        if (AccessDelCen)
                                        {
                                            sbrSubOff.Append("<td><a class='btn btn-danger btn-mini' id='btnDel_" + CenterID + "'><i class='icon-white icon-trash'></i>&nbsp;Remove Center</a></td>");
                                        }
                                        sbrSubOff.Append("</tr>");
                                    }
                                    sbrSubOff.Append("</tbody>");
                                    sbrSubOff.Append("</table>");

                                    //uxCenterList.InnerHtml = sbrSubOff.ToString();
                                }
                                else
                                {
                                    //uxCenterList.InnerHtml = UiMsg.PageVillage.NoCenters.ErrorWrap();
                                    sbrSubOff.Append(UiMsg.PageVillage.NoCenters.ErrorWrap());
                                }
                                sbrSubOff.Append("</div>");
                                uxCenterList.InnerHtml = sbrAddCen.ToString() + sbrSubOff.ToString();
                            }
                            else
                            {
                                viewSubOff.InnerHtml = "";
                            }



                            #endregion build page data
                        }
                        else if (CanAccessOffice == CustEnum.PageAccess.No)
                        {
                            uxOffcontent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                        }
                    } //view access
                    else
                    {
                        uxOffcontent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                    }
                }
                else
                {
                    Sessions objSession = new Sessions();
                    objSession.EndSession("&" + AppSettings.QueryStr.SessionExpired.Name + "=" + AppSettings.QueryStr.SessionExpired.Value);
                }
            }
            else
            {
                //error
                uxOffcontent.InnerHtml = UiMsg.Global.NoOfficeExists.ErrorWrap();
            }
        }
Beispiel #12
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Form["AjaxMethod"] == "SaveOffDetails")
            {
                Sessions objSess = new Sessions();

                string UserID = objSess.GetUserID();

                string OpResult = CustEnum.Generic.Error_SessionExpired.ToString();

                if (UserID != null)
                {
                    string OfficeID = Request.Form["OID"].Trim().SafeSqlLiteral(1);
                    string Name     = Request.Form["Name"].Trim().SafeSqlLiteral(1);
                    string Addr     = Request.Form["Addr"].Trim().SafeSqlLiteral(1);
                    string Ph1      = Request.Form["Ph1"].Trim().SafeSqlLiteral(1);
                    string Ph2      = Request.Form["Ph2"].Trim().SafeSqlLiteral(1);
                    string Fax      = Request.Form["Fax"].Trim().SafeSqlLiteral(1);
                    string Web      = Request.Form["Web"].Trim().SafeSqlLiteral(1);
                    string Email    = Request.Form["Email"].Trim().SafeSqlLiteral(1);

                    OpResult = CustEnum.Generic.Error_Default.ToString();

                    Office obj = new Office();

                    if (obj.UpdateOfficeDetails(OfficeID, UserID, DbSettings.Generic.Active, Name, Addr, Ph1, Ph2, Fax, Web, Email))
                    {
                        OpResult = CustEnum.Generic.Success_.ToString();
                    }
                }

                Response.Write(OpResult);
                Response.End();
            } //save ho



            if (Request.Form["AjaxMethod"] == "FetchParent")
            {
                string OfficeTypeID = Request.Form["OTID"];

                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                string UserRoleID       = objUsrDet.RoleID;
                string UserOfficeID     = objUsrDet.OfficeID;
                string UserOfficeTypeID = objUsrDet.OfficeTypeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    if (int.Parse(UserOfficeTypeID) < int.Parse(OfficeTypeID))
                    {
                        Office  objOff = new Office();
                        DataSet ds     = objOff.GetImmediateParentOfficesForOfficeType(UserOfficeID, OfficeTypeID);

                        if (!DataUtils.IsDataSetNull(ds, 0))
                        {
                            StringBuilder sbrMenu = new StringBuilder();
                            sbrMenu.Append("<select id='drpParent'>");
                            foreach (DataRow dr in ds.Tables[0].Rows)
                            {
                                string ParentOfficeID   = dr["ParentOfficeID"].ToString();
                                string ParentOfficeName = dr["OfficeName"].ToString();

                                sbrMenu.Append("<option id=drpOptParent_" + ParentOfficeID + ">" + ParentOfficeName + "</option>");
                            }
                            sbrMenu.Append("</select>");
                            OpResult = sbrMenu.ToString();
                        }
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            } //fetch parent



            if (Request.Form["AjaxMethod"] == "AddOffice")
            {
                string ParentOfficeID = Request.Form["PID"].Trim().SafeSqlLiteral(1);
                string OfficeTypeID   = Request.Form["OTID"].Trim().SafeSqlLiteral(1);
                string Name           = Request.Form["Name"].Trim().SafeSqlLiteral(1);
                string Addr           = Request.Form["Addr"].Trim().SafeSqlLiteral(1);
                string Ph1            = Request.Form["Ph1"].Trim().SafeSqlLiteral(1);
                string Ph2            = Request.Form["Ph2"].Trim().SafeSqlLiteral(1);
                string Fax            = Request.Form["Fax"].Trim().SafeSqlLiteral(1);
                string Email          = Request.Form["Email"].Trim().SafeSqlLiteral(1);

                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    bool OfficeCreated = objOff.AddNewOffice(UserID, ParentOfficeID, OfficeTypeID, Name, Addr, Ph1, Ph2, Fax, Email);

                    if (OfficeCreated)
                    {
                        OpResult = CustEnum.Generic.Success_.ToString();
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            } // add



            if (Request.Form["AjaxMethod"] == "DeleteOffice")
            {
                string OfficeID = Request.Form["OID"];

                string OpResult = CustEnum.DeleteOffice.Error.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    string SubOffCount = objOff.GetSubOfficeCountForOffice(OfficeID);

                    if (SubOffCount != CustEnum.Generic.Error_Default.ToString())
                    {
                        if (int.Parse(SubOffCount) == 0)
                        {
                            //delete office
                            if (objOff.DeleteOffice(OfficeID, UserID) == CustEnum.Generic.Success_.ToString())
                            {
                                OpResult = CustEnum.DeleteOffice.Success.ToString();
                            }
                        }
                        else if (int.Parse(SubOffCount) > 0)
                        {
                            OpResult = CustEnum.DeleteOffice.HasSubOffice.ToString();
                        }
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            }



            if (Request.Form["AjaxMethod"] == "AddCenter")
            {
                string VillageID       = Request.Form["VillageID"];
                string MeetingLocation = Request.Form["Location"];
                string MeetingTime     = Request.Form["Time"];
                string FEID            = Request.Form["FE"];

                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff   = new Office();
                    int    CenterID = 0;

                    int.TryParse(objOff.AddNewCenter(VillageID, MeetingLocation, FEID, UserID, MeetingTime), out CenterID);

                    if (CenterID > 0)
                    {
                        OpResult = CustEnum.Generic.Success_.ToString() + CenterID.ToString();
                    }
                }

                Response.Write(OpResult);
                Response.End();
            }

            if (Request.Form["AjaxMethod"] == "EditCenter")
            {
                string CenterID        = Request.Form["CenterID"];
                string MeetingLocation = Request.Form["Location"];
                string MeetingTime     = Request.Form["Time"];
                string FEID            = Request.Form["FE"];

                string OpResult = CustEnum.Generic.Error_Default.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    if (objOff.UpdateCenter(CenterID, MeetingLocation, MeetingTime, FEID, UserID))
                    {
                        OpResult = CustEnum.Generic.Success_.ToString();
                    }
                }

                Response.Write(OpResult);
                Response.End();
            } //edit center

            if (Request.Form["AjaxMethod"] == "DeleteCenter")
            {
                string CenterID = Request.Form["CID"];

                string OpResult = CustEnum.DeleteOffice.Error.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    string SubOffCount = objOff.GetGroupCountForCenterID(CenterID);

                    if (SubOffCount != CustEnum.Generic.Error_Default.ToString())
                    {
                        if (SubOffCount == "0") // string comp is guaranteed to be safe check. else have to handle null/err cases
                        {
                            //delete office
                            if (objOff.DeleteCenter(CenterID, UserID) == CustEnum.Generic.Success_.ToString())
                            {
                                OpResult = CustEnum.DeleteOffice.Success.ToString();
                            }
                        }
                        else if (int.Parse(SubOffCount) > 0)
                        {
                            OpResult = CustEnum.DeleteOffice.HasSubOffice.ToString();
                        }
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            } //DEL CENT

            if (Request.Form["AjaxMethod"] == "DeleteGroup")
            {
                string GroupID = Request.Form["GID"];

                string OpResult = CustEnum.DeleteOffice.Error.ToString();

                Users          objUsr    = new Users();
                UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

                string UserID       = objUsrDet.UserID;
                string UserStatusID = objUsrDet.StatusID;

                //string UserRoleID = objUsrDet.RoleID;
                string UserOfficeID = objUsrDet.OfficeID;

                if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
                {
                    Office objOff = new Office();

                    string SubOffCount = objOff.DeleteGroup(GroupID, UserID, DbSettings.LoanStatus.GroupDeleted);

                    if (SubOffCount != CustEnum.Generic.Error_Default.ToString())
                    {
                        if (SubOffCount == "1") // string comp is guaranteed to be safe check. else have to handle null/err cases
                        {
                            OpResult = CustEnum.DeleteOffice.Success.ToString();
                        }
                        else if (SubOffCount == "-1")
                        {
                            OpResult = CustEnum.DeleteOffice.HasSubOffice.ToString();
                        }
                    }
                }
                else
                {
                    OpResult = CustEnum.Generic.Error_SessionExpired.ToString();
                }

                Response.Write(OpResult);
                Response.End();
            }
        }
Beispiel #13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.LoanProduct;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;
            string UserRoleID   = objUsrDet.RoleID;

            string UserOfficeID     = objUsrDet.OfficeID;
            string UserOfficeTypeID = objUsrDet.OfficeTypeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    //check for privileges

                    DataSet       dsAction    = objUsr.GetMenusActionsForRoleID(UserRoleID);
                    List <string> MenuActions = dsAction.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();

                    bool AddLP = MenuActions.Contains(DbSettings.AccessLoanProduct.Add);
                    //bool EditLP = MenuActions.Contains(DbSettings.AccessLoanProduct.Edit);
                    bool DeleteLP = MenuActions.Contains(DbSettings.AccessLoanProduct.Delete);

                    if (!AddLP)
                    {
                        uxAddProduct.InnerHtml = "";
                    }

                    Loans objLoan = new Loans();

                    DataSet dsLP = objLoan.GetLoanProducts(null);

                    if (!DataUtils.IsDataSetNull(dsLP, 0))
                    {
                        StringBuilder sbrLP = new StringBuilder();

                        foreach (DataRow drGrp in dsLP.Tables[0].Rows)
                        {
                            string ProductID           = drGrp["LoanProductID"].ToString();
                            string ProductName         = drGrp["ProductName"].ToString();
                            string MaxDisbAmnt         = drGrp["DefualtAmount"].ToString();
                            string Interest            = drGrp["Interest"].ToString();
                            string Tenure              = drGrp["Tenure"].ToString();
                            string FundSourceName      = drGrp["FundSourceName"].ToString();
                            string CollectionTypeID    = drGrp["CollectionTypeID"].ToString();
                            string CollectionFrequency = drGrp["CollectionFrequency"].ToString();
                            string CreatedOnLocalDate  = string.Empty;

                            DateTime CreatedOnUTC = DateTime.SpecifyKind(DateTime.Parse(drGrp["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                            CreatedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(CreatedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(false, '-');

                            sbrLP.Append("<tr id='LP_" + ProductID + "'>");
                            sbrLP.Append("<td>" + ProductName + "</td>");
                            sbrLP.Append("<td>" + MaxDisbAmnt + "</td>");
                            sbrLP.Append("<td>" + Interest + "</td>");
                            sbrLP.Append("<td>" + Tenure + "</td>");
                            sbrLP.Append("<td>" + FundSourceName + "</td>");

                            if (CollectionTypeID == DbSettings.CollectionType.Monthly)
                            {
                                sbrLP.Append("<td>Monthly</td>");
                            }
                            else if (CollectionTypeID == DbSettings.CollectionType.Days)
                            {
                                sbrLP.Append("<td>" + CollectionFrequency + " Days </td>");
                            }

                            sbrLP.Append("<td>" + CreatedOnLocalDate + "</td>");

                            if (DeleteLP)
                            {
                                sbrLP.Append("<td><a class='btn btn-danger btn-mini' id='btnDel_" + ProductID + "'><i class='icon-white icon-trash'></i>&nbsp;Delete Product</a></td>");
                            }
                            else
                            {
                                sbrLP.Append("<td>-</td>");
                            }
                        }

                        uxLpBody.InnerHtml = sbrLP.ToString();

                        //generate fund source

                        Common objFS = new Common();

                        DataSet dsFS = objFS.GetFundSource(null);

                        if (!DataUtils.IsDataSetNull(dsFS, 0))
                        {
                            StringBuilder sbrFS = new StringBuilder();

                            sbrFS.Append("<select id='drpFS' class='span3'>");
                            sbrFS.Append("<option value='0'>Select Fund Source</option>");

                            foreach (DataRow drFS in dsFS.Tables[0].Rows)
                            {
                                string FsID           = drFS["FundSourceID"].ToString();
                                string FundSourceName = drFS["FundSourceName"].ToString();

                                sbrFS.Append("<option value='" + FsID + "'>" + FundSourceName + "</option>");
                            }

                            sbrFS.Append("</select>");
                            uxFundSource.InnerHtml = sbrFS.ToString();
                        }
                    }
                    else
                    {
                        uxLpContent.InnerHtml = UiMsg.LoanProduct.NoLpData.ErrorWrap();
                    }
                }
                else
                {
                    uxLpContent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
        }
Beispiel #14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.LoansPending;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID   = objUsrDet.RoleID;
            string UserOfficeID = objUsrDet.OfficeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    //first, check if the group id is valid.
                    string GroupID = null;

                    try
                    {
                        GroupID = (string)Page.RouteData.Values[AppRoutes.DisburseLoans.ValOfficeID];
                    }
                    catch (Exception ex) {}

                    if (GroupID != null)
                    {
                        //check the group status to prevent erroneous operations

                        Loans objLoan = new Loans();

                        DataSet dsLoan = objLoan.GetLafDetails(GroupID);

                        if (!DataUtils.IsDataSetNull(dsLoan, 0))
                        {
                            DataRow drBasicDetails = dsLoan.Tables[0].Rows[0];
                            string  GroupStatusID  = drBasicDetails["GroupStatusID"].ToString();

                            if (GroupStatusID == DbSettings.GroupStatus.New)
                            {
                                //can proceed

                                hdnGID.Value = GroupID;

                                DateTime AppliedOnUTC       = new DateTime();
                                string   AppliedOnLocalDate = string.Empty;

                                AppliedOnUTC       = DateTime.SpecifyKind(DateTime.Parse(drBasicDetails["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                                AppliedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(AppliedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(true, '-');

                                int DaysAgo;
                                int.TryParse(drBasicDetails["DaysAgo"].ToString(), out DaysAgo);

                                string DaysPlurality = "Days";
                                if (DaysAgo <= 1)
                                {
                                    DaysPlurality = "Day";
                                }

                                string FE = drBasicDetails["FE"].ToString();

                                string CenterID  = drBasicDetails["CenterID"].ToString();
                                string CenterURL = Page.GetRouteUrl(AppRoutes.Center.Name, new { OfficeID = CenterID });

                                string Village    = drBasicDetails["VillageName"].ToString();
                                string VillageURL = Page.GetRouteUrl(AppRoutes.Village.Name, new { OfficeID = drBasicDetails["VillageID"].ToString() });

                                string Branch    = drBasicDetails["BranchName"].ToString();
                                string BranchURL = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = drBasicDetails["BranchID"].ToString() });

                                string LoanProdID          = drBasicDetails["LoanProductID"].ToString();
                                string LoanProdName        = drBasicDetails["LoanProduct"].ToString();
                                string LoanProdInt         = drBasicDetails["Interest"].ToString();
                                string LoanProdAmnt        = drBasicDetails["DefualtAmount"].ToString();
                                string LoanProdTenure      = drBasicDetails["Tenure"].ToString();
                                string CollectionTypeID    = drBasicDetails["CollectionTypeID"].ToString();
                                string CollectionFrequency = drBasicDetails["CollectionFrequency"].ToString();

                                //pass vales to ui
                                string GroupURL = Page.GetRouteUrl(AppRoutes.Groups.Name, new { }) + "?" + AppSettings.QueryStr.Group.Name + "=" + GroupID;

                                uxGroupID.InnerHtml   = "<a href='" + GroupURL + "'>Group " + GroupID + "</a>";
                                uxAppliedOn.InnerHtml = AppliedOnLocalDate + " &nbsp;&nbsp;(" + DaysAgo.ToString() + " " + DaysPlurality + " ago)";
                                uxFE.InnerHtml        = FE;
                                uxHierarchy.InnerHtml = "<a href='" + CenterURL + "'>Center " + CenterID + "</a>&nbsp;&nbsp;<i class='icon icon-arrow-right gen-nav-op-1'></i>&nbsp;&nbsp;" + "<a href='" + VillageURL + "'>" + Village + "</a>&nbsp;&nbsp;<i class='icon icon-arrow-right gen-nav-op-1'></i>&nbsp;&nbsp;" + "<a href='" + BranchURL + "'>" + Branch + "</a>";

                                uxLP.InnerHtml       = "<a href='#'>" + LoanProdName + "</a>";
                                uxLpamnt.InnerHtml   = LoanProdAmnt;
                                uxLpInt.InnerHtml    = LoanProdInt;
                                uxLpTenure.InnerHtml = LoanProdTenure;
                                hdnCFTID.Value       = CollectionTypeID;
                                hdnCFV.Value         = CollectionFrequency;


                                //generate client list
                                StringBuilder sbrClients = new StringBuilder();

                                sbrClients.Append("<tr class='template'>");

                                sbrClients.Append("<td colspan='3' class='template-info'>Values entered in this row will be copied to all clients&nbsp; <i class='icon-hand-right'></i></td>");
                                sbrClients.Append("<td><input type='text' class='ldisb-amnt gloAmnt' /></td>");
                                sbrClients.Append("<td><input readonly='readonly' type='text' class='ldisb-date gloDate cmDisbDate' /></td>");
                                sbrClients.Append("<td><input readonly='readonly' type='text' class='lfr-date gloFrDate cmFRDate' /></td>");
                                sbrClients.Append("<td><input type='text' class='span1 gloEMI' /></td>");
                                sbrClients.Append("<td></td>");

                                sbrClients.Append("</tr>");

                                foreach (DataRow dr in dsLoan.Tables[0].Rows)
                                {
                                    string ClientName  = dr["Name"].ToString();
                                    string ClientID    = dr["ClientID"].ToString();
                                    string GroupLeader = dr["IsGroupLeader"].ToString();

                                    string LoanID      = dr["LoanID"].ToString();
                                    string PurposeName = dr["PurposeName"].ToString();
                                    string AmntApplied = dr["AmountApplied"].ToString();

                                    sbrClients.Append("<tr class='cmClientRow' id='LN_" + LoanID + "'>");

                                    if (GroupLeader == "1")
                                    {
                                        sbrClients.Append("<td><a href='#' title='Group Leader' class='label label-info GroupLeader'>" + ClientName + "</a></td>");
                                    }
                                    else
                                    {
                                        sbrClients.Append("<td><a href='#'>" + ClientName + "</a></td>");
                                    }


                                    sbrClients.Append("<td>" + PurposeName + "</td>");
                                    sbrClients.Append("<td>" + AmntApplied + "</td>");
                                    sbrClients.Append("<td><input type='text' class='ldisb-amnt cmDisbAmnt' value='" + AmntApplied + "' /></td>");
                                    sbrClients.Append("<td><input readonly='readonly' type='text' class='ldisb-date cmDisbDate' /></td>");
                                    sbrClients.Append("<td><input readonly='readonly' type='text' class='lfr-date cmFRDate' /></td>");
                                    sbrClients.Append("<td><input type='text' class='span1 cmEMI' /></td>");
                                    sbrClients.Append("<td><a id='RPS_" + LoanID + "' class='ldisb-rps-a'>View Schedule</a></td>");

                                    sbrClients.Append("</tr>");
                                }
                                uxClientList.InnerHtml = sbrClients.ToString();
                            }
                            else
                            {
                                DisburseLoan.InnerHtml = UiMsg.LoansDisbursement.InvalidStatus.ErrorWrap();
                            }
                        }
                        else
                        {
                            DisburseLoan.InnerHtml = UiMsg.LoansDisbursement.NoData.ErrorWrap();
                        }
                    }
                    else
                    {
                        DisburseLoan.InnerHtml = UiMsg.Global.InvalidPage.ErrorWrap();
                    }
                }
                else
                {
                    DisburseLoan.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
            else
            {
                DisburseLoan.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
            }
        }
Beispiel #15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.Groups;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;
            string UserRoleID   = objUsrDet.RoleID;

            string UserOfficeID     = objUsrDet.OfficeID;
            string UserOfficeTypeID = objUsrDet.OfficeTypeID;

            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    //check for privileges

                    DataSet       dsAction    = objUsr.GetMenusActionsForRoleID(UserRoleID);
                    List <string> MenuActions = dsAction.Tables[0].AsEnumerable().Select(r => r[0].ToString()).ToList();
                    bool          DeleteGroup = MenuActions.Contains(DbSettings.MenusAction.DeleteGroup);

                    #region generate filters

                    Office objOff          = new Office();
                    bool   BranchGenerated = false;

                    //branch
                    StringBuilder sbrBranch = new StringBuilder();

                    if (int.Parse(UserOfficeTypeID) < int.Parse(DbSettings.OfficeType.BranchOffice))
                    {
                        //user belongs to a higher office type, so the sp will fetch branches
                        DataSet dsBranch = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.BranchOffice);

                        sbrBranch.Append("<select class='span2' id='drpBranch'>");
                        sbrBranch.Append("<option value='0'>All Branches</option>");

                        foreach (DataRow drBranch in dsBranch.Tables[0].Rows)
                        {
                            string BranchID   = drBranch["OfficeID"].ToString();
                            string BranchName = drBranch["OfficeName"].ToString();

                            sbrBranch.Append("<option value='" + BranchID + "'>" + BranchName + "</option>");
                        }
                        sbrBranch.Append("</select>");
                        uxDrpBranchWrap.InnerHtml = sbrBranch.ToString();
                        BranchGenerated           = true;
                    }
                    else if (UserOfficeTypeID == DbSettings.OfficeType.BranchOffice)
                    {
                        //user belongs to a branch
                        DataSet dsBranchDetails = objOff.GetOfficeDetails(UserOfficeID);

                        if (!DataUtils.IsDataSetNull(dsBranchDetails, 0))
                        {
                            sbrBranch.Append("<select disabled='disabled' class='span2' id='drpBranch'>");

                            string BranchID   = dsBranchDetails.Tables[0].Rows[0]["OfficeID"].ToString();
                            string BranchName = dsBranchDetails.Tables[0].Rows[0]["OfficeName"].ToString();

                            sbrBranch.Append("<option value='" + BranchID + "'>" + BranchName + "</option>");

                            sbrBranch.Append("</select>");
                            uxDrpBranchWrap.InnerHtml = sbrBranch.ToString();
                            BranchGenerated           = true;
                        }
                    }

                    if (BranchGenerated)
                    {
                        //villages
                        DataSet       dsVillage  = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.Village);
                        StringBuilder sbrVillage = new StringBuilder();

                        if (!DataUtils.IsDataSetNull(dsVillage, 0))
                        {
                            sbrVillage.Append("<select class='span2' id='drpVillage'>");
                            sbrVillage.Append("<option class='0' value='0'>All Villages</option>");

                            foreach (DataRow drVill in dsVillage.Tables[0].Rows)
                            {
                                string VillaID  = drVill["OfficeID"].ToString();
                                string VillName = drVill["OfficeName"].ToString();
                                string BranchID = drVill["ParentOfficeID"].ToString();

                                sbrVillage.Append("<option class='" + BranchID + "' value='" + VillaID + "'>" + VillName + "</option>");
                            }
                            sbrVillage.Append("</select>");
                            uxDrpVillageWrap.InnerHtml = sbrVillage.ToString();


                            //centers

                            DataSet       dsCen     = objOff.GetAllCentersForUserID(UserID);
                            StringBuilder sbrCenter = new StringBuilder();

                            if (!DataUtils.IsDataSetNull(dsCen, 0))
                            {
                                sbrCenter.Append("<select class='span2' id='drpCenter'>");
                                sbrCenter.Append("<option class='0' value='0'>All Centers</option>");

                                foreach (DataRow dr in dsCen.Tables[0].Rows)
                                {
                                    string CenterID  = dr["CenterID"].ToString();
                                    string VillageID = dr["ParentOfficeID"].ToString();

                                    sbrCenter.Append("<option class='" + VillageID + "' value='" + CenterID + "'>Center " + CenterID + "</option>");
                                }
                                sbrCenter.Append("</select>");
                                uxDrpCenterWrap.InnerHtml = sbrCenter.ToString();
                            } //center
                        }     //village
                    }


                    #endregion

                    DataSet dsGroup = objOff.GetAllGroupsForUserID(UserID);

                    if (!DataUtils.IsDataSetNull(dsGroup, 0))
                    {
                        #region group list
                        StringBuilder sbrGrp = new StringBuilder();

                        foreach (DataRow drGrp in dsGroup.Tables[0].Rows)
                        {
                            string GroupID      = drGrp["GroupID"].ToString();
                            string ClassCenter  = "cmCenter" + drGrp["CenterID"].ToString();
                            string ClassVillage = "cmVillage" + drGrp["VillageID"].ToString();
                            string ClassBranch  = "cmBranch" + drGrp["BranchID"].ToString();

                            string CenterID  = drGrp["CenterID"].ToString();
                            string CenterURL = Page.GetRouteUrl(AppRoutes.Center.Name, new { OfficeID = CenterID });

                            string Village    = drGrp["VillageName"].ToString();
                            string VillageURL = Page.GetRouteUrl(AppRoutes.Village.Name, new { OfficeID = drGrp["VillageID"].ToString() });

                            string Branch    = drGrp["BranchName"].ToString();
                            string BranchURL = Page.GetRouteUrl(AppRoutes.BranchOffice.Name, new { OfficeID = drGrp["BranchID"].ToString() });


                            string GroupLeader   = drGrp["GroupLeader"].ToString();
                            string GroupLeaderID = drGrp["GroupLeaderID"].ToString();

                            string GrpFeName             = drGrp["StaffName"].ToString();
                            string GrpFeID               = drGrp["StaffID"].ToString();
                            string GroupStatus           = drGrp["GroupStatus"].ToString();
                            string GroupStatusClass      = drGrp["CssClass"].ToString();
                            string GroupTitleDef         = drGrp["TitleString"].ToString();
                            string GrpCreatedOnLocalDate = string.Empty;

                            DateTime GrpCreatedOnUTC = DateTime.SpecifyKind(DateTime.Parse(drGrp["CreatedDateTime"].ToString()), DateTimeKind.Utc);
                            GrpCreatedOnLocalDate = TimeZoneInfo.ConvertTimeFromUtc(GrpCreatedOnUTC, AppSettings.TimeZoneIst).ToDateShortMonth(false, '-');

                            sbrGrp.Append("<tr id='trGrp_" + GroupID + "' class='" + ClassBranch + " " + ClassVillage + " " + ClassCenter + "'>");

                            if (int.Parse(GroupID) < 10)
                            {
                                sbrGrp.Append("<td><a href='javascript:void(0)' id='ancGrp_" + GroupID + "'>Group 0" + GroupID + "</a></td>");
                            }
                            else
                            {
                                sbrGrp.Append("<td><a href='javascript:void(0)' id='ancGrp_" + GroupID + "'>Group " + GroupID + "</a></td>");
                            }

                            sbrGrp.Append("<td><span class='cmGrpStat " + GroupStatusClass + "' title='" + GroupTitleDef + "' >" + GroupStatus + "</span></td>");
                            sbrGrp.Append("<td><a href='#'>" + GroupLeader + "</a></td>");
                            sbrGrp.Append("<td><a href='#'>" + GrpFeName + "</a></td>");
                            sbrGrp.Append("<td>" + GrpCreatedOnLocalDate + "</td>");

                            if (int.Parse(CenterID) < 10)
                            {
                                sbrGrp.Append("<td><a href='" + CenterURL + "'>Center 0" + CenterID + "</a></td>");
                            }
                            else
                            {
                                sbrGrp.Append("<td><a href='" + CenterURL + "'>Center " + CenterID + "</a></td>");
                            }

                            sbrGrp.Append("<td><a href='" + VillageURL + "'>" + Village + "</a></td>");
                            sbrGrp.Append("<td><a href='" + BranchURL + "'>" + Branch + "</a></td>");


                            if (DeleteGroup)
                            {
                                sbrGrp.Append("<td><buutton class='btn btn-danger btn-mini' id='btnDel_" + GroupID + "'><i class='icon-white icon-trash'></i>&nbsp;Delete Group</buutton></td>");
                            }
                            else
                            {
                                sbrGrp.Append("<td> - </td>");
                            }

                            sbrGrp.Append("</tr>");
                        }

                        uxGroupBody.InnerHtml = sbrGrp.ToString();

                        #endregion group list

                        #region group details

                        DataSet dsGrpCli = objUsr.GetAllGroupDetailsForUserID(UserID);

                        if (!DataUtils.IsDataSetNull(dsGrpCli, 0))
                        {
                            StringBuilder sbrGrpCli = new StringBuilder();

                            foreach (DataRow drGrpCli in dsGrpCli.Tables[0].Rows)
                            {
                                string GcGrpID      = drGrpCli["GroupID"].ToString();
                                string GcCliID      = drGrpCli["ClientID"].ToString();
                                string GcCliName    = drGrpCli["Name"].ToString();
                                string GcLoanID     = drGrpCli["LoanID"].ToString();
                                string GcLoanStatus = drGrpCli["LoanStatus"].ToString();
                                //string GcLPID = drGrpCli["LoanProductID"].ToString();
                                //string GcLP = drGrpCli["ProductName"].ToString();


                                sbrGrpCli.Append("<tr class='trGC_" + GcGrpID + "'>");
                                sbrGrpCli.Append("<td><a href='#'>" + GcCliName + "</a></td>");
                                sbrGrpCli.Append("<td><a href='#'>Loan " + GcLoanID + "</a></td>");
                                sbrGrpCli.Append("<td>" + GcLoanStatus + "</td>");
                                sbrGrpCli.Append("</tr>");
                            }

                            uxGCBody.InnerHtml = sbrGrpCli.ToString();
                        }


                        #endregion group details
                    }
                    else
                    {
                        uxGroups.InnerHtml = UiMsg.Center.NoGroups.ErrorWrap();
                    }
                }
                else
                {
                    uxCentContent.InnerHtml = UiMsg.Global.NoPageAccess.ErrorWrap();
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string PageID = DbSettings.Menus.LAF;

            Users          objUsr    = new Users();
            UserKeyDetails objUsrDet = objUsr.GetUserKeyDetails();

            string UserID       = objUsrDet.UserID;
            string UserStatusID = objUsrDet.StatusID;

            string UserRoleID   = objUsrDet.RoleID;
            string UserOfficeID = objUsrDet.OfficeID;


            if (UserID != null && UserStatusID == DbSettings.UserStatus.Active)
            {
                CustEnum.PageAccess Access = objUsr.CheckPageAccess(UserRoleID, PageID);

                if (Access == CustEnum.PageAccess.Yes)
                {
                    Office objOff  = new Office();
                    Loans  objLoan = new Loans();

                    DataSet       dsOff      = objOff.GetAllSubOfficeByTypeID(UserOfficeID, DbSettings.OfficeType.Village);
                    StringBuilder sbrVillage = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsOff, 0))
                    {
                        sbrVillage.Append("<select class='span2' id='drpVillage'>");
                        sbrVillage.Append("<option value='0'>Select Village</option>");

                        foreach (DataRow dr in dsOff.Tables[0].Rows)
                        {
                            string OffID    = dr["OfficeID"].ToString();
                            string OffName  = dr["OfficeName"].ToString();
                            string ParentID = dr["ParentOfficeID"].ToString();

                            sbrVillage.Append("<option class='" + ParentID + "' value='" + OffID + "'>" + OffName + "</option>");
                        }
                        sbrVillage.Append("</select>");
                        drpVillageWrap.InnerHtml = sbrVillage.ToString();

                        DataSet       dsCen     = objOff.GetAllCentersForUserID(UserID);
                        StringBuilder sbrCenter = new StringBuilder();

                        if (!DataUtils.IsDataSetNull(dsCen, 0))
                        {
                            sbrCenter.Append("<select class='span2' id='drpCenter'>");
                            sbrCenter.Append("<option value='0'>Select Center</option>");

                            foreach (DataRow dr in dsCen.Tables[0].Rows)
                            {
                                string CenterID  = dr["CenterID"].ToString();
                                string VillageID = dr["ParentOfficeID"].ToString();

                                sbrCenter.Append("<option class='" + VillageID + "' value='" + CenterID + "'>Center " + CenterID + "</option>");
                            }
                            sbrCenter.Append("</select>");
                            drpCenterWrap.InnerHtml = sbrCenter.ToString();
                        } //center
                    }     //village

                    DataSet       dsLP  = objLoan.GetLoanProducts(null);
                    StringBuilder sbrLP = new StringBuilder();

                    StringBuilder sbrLpDet = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsLP, 0))
                    {
                        sbrLP.Append("<select class='span2' id='drpLP'>");
                        sbrLP.Append("<option value='0'>Select</option>");

                        foreach (DataRow dr in dsLP.Tables[0].Rows)
                        {
                            string LPID        = dr["LoanProductID"].ToString();
                            string ProductName = dr["ProductName"].ToString();

                            string DefualtAmount = dr["DefualtAmount"].ToString();
                            string Interest      = dr["Interest"].ToString();
                            string Tenure        = dr["Tenure"].ToString();

                            sbrLP.Append("<option value='" + LPID + "'>" + ProductName + "</option>");

                            sbrLpDet.Append("<tr id='" + LPID + "' style='display:none'>");
                            sbrLpDet.Append("<td>" + ProductName + "</td>");
                            sbrLpDet.Append("<td>" + DefualtAmount + "</td>");
                            sbrLpDet.Append("<td>" + Interest + "</td>");
                            sbrLpDet.Append("<td>" + Tenure + "</td>");
                            sbrLpDet.Append("</tr>");
                        }
                        sbrLP.Append("</select>");
                        drpLpWrap.InnerHtml     = sbrLP.ToString();
                        lpDetailsBody.InnerHtml = sbrLpDet.ToString();

                        DataSet       dsLoanCycle = objLoan.GetLoanCycles(null);
                        StringBuilder sbrCycle    = new StringBuilder();

                        if (!DataUtils.IsDataSetNull(dsLoanCycle, 0))
                        {
                            foreach (DataRow dr in dsLoanCycle.Tables[0].Rows)
                            {
                                string LoanProductID = dr["LoanProductID"].ToString();
                                string Cycle         = dr["Cycle"].ToString();
                                string MinValue      = dr["MinValue"].ToString();
                                string MaxValue      = dr["MaxValue"].ToString();

                                sbrCycle.Append("<tr class='LC_" + LoanProductID + " hide'>");
                                sbrCycle.Append("<td>" + Cycle + "</td>");
                                sbrCycle.Append("<td>" + MinValue + "</td>");
                                sbrCycle.Append("<td>" + MaxValue + "</td>");
                                sbrCycle.Append("</tr>");
                            }

                            lcBody.InnerHtml = sbrCycle.ToString();
                        }
                    } //lp


                    DataSet       dsFE  = objUsr.GetAllFeForUserID(UserID);
                    StringBuilder sbrFE = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsFE, 0))
                    {
                        sbrFE.Append("<select class='span2' id='drpFE'>");
                        sbrFE.Append("<option value='0'>Select</option>");

                        foreach (DataRow dr in dsFE.Tables[0].Rows)
                        {
                            string FEID     = dr["UserID"].ToString();
                            string FeName   = dr["Name"].ToString();
                            string OfficeID = dr["OfficeID"].ToString();

                            sbrFE.Append("<option class='" + OfficeID + "' value='" + FEID + "'>" + FeName + "</option>");
                        }
                        sbrFE.Append("</select>");
                        drpFeWrap.InnerHtml = sbrFE.ToString();
                    } //fe


                    DataSet       dsPurp  = objLoan.GetLoanPurpose();
                    StringBuilder sbrPurp = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsPurp, 0))
                    {
                        sbrPurp.Append("<select class='lp' id='drpLoanPurpose'>");
                        //sbrPurp.Append("<option value='0'>Select</option>");

                        foreach (DataRow dr in dsPurp.Tables[0].Rows)
                        {
                            string PurpID   = dr["LoanPurposeID"].ToString();
                            string PurpName = dr["PurposeName"].ToString();


                            sbrPurp.Append("<option value='" + PurpID + "'>" + PurpName + "</option>");
                        }
                        sbrPurp.Append("</select>");
                        drpLoanPurposeWrap.InnerHtml = sbrPurp.ToString();
                    } //purpose

                    DataSet       dsCli  = objUsr.GetLoanEligClientsForUserID(UserID);
                    StringBuilder sbrCli = new StringBuilder();

                    if (!DataUtils.IsDataSetNull(dsCli, 0))
                    {
                        sbrCli.Append("<select class='name' id='drpClients'>");
                        sbrCli.Append("<option value='0'>Select</option>");

                        foreach (DataRow dr in dsCli.Tables[0].Rows)
                        {
                            string ClientID  = dr["ClientID"].ToString();
                            string Name      = dr["Name"].ToString();
                            string VillageID = dr["VillageID"].ToString();


                            sbrCli.Append("<option class='" + VillageID + "' value='" + ClientID + "'>" + Name + "</option>");
                        }
                        sbrCli.Append("</select>");
                        drpCliWrap.InnerHtml = sbrCli.ToString();
                    } //purpose
                }
            }
        }