private void LoadTransactions()
        {
            dgUserInitiatedTransactions.DataSource = new List <ExpenseTransaction>();
            dgUserInitiatedTransactions.DataBind();
            List <ExpenseTransaction> expTransactionList;

            if (HttpContext.Current.User.IsInRole("PortalAdmin"))
            {
                expTransactionList = ServiceProvider.Instance().GetExpenseTransactionServices().GetCurrentApprovedOrVoidedExpenseTransactions();
            }
            else
            {
                var userId = new PortalServiceManager().GetUserIdByUsername(HttpContext.Current.User.Identity.Name);
                if (userId < 1)
                {
                    ConfirmAlertBox1.ShowMessage("Your user details could not be retrieved.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }
                expTransactionList = ServiceProvider.Instance().GetExpenseTransactionServices().GetPortalUserCurrentApprovedOrVoidedExpenseTransactions(userId);
            }

            if (expTransactionList == null || !expTransactionList.Any())
            {
                return;
            }

            Session["_approvedOrVoidedExpTransactionList"] = null;
            Session["_approvedOrVoidedExpTransactionList"] = expTransactionList;

            Limit = int.Parse(ddlLimit.SelectedValue);
            FillRepeater <ExpenseTransaction>(dgUserInitiatedTransactions, "_approvedOrVoidedExpTransactionList", Navigation.None, Limit, LoadMethod);
            SetTransactionsStyle();
        }
示例#2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.Form.Attributes.Add("enctype", "multipart/form-data");

            if (!Page.IsPostBack)
            {
                try
                {
                    string     username = HttpContext.Current.User.Identity.Name;
                    portaluser mUser    = new PortalServiceManager().GetPortalUser(username);

                    if (mUser != null)
                    {
                        if (mUser.PortalUserId < 1 || mUser.UserId < 1)
                        {
                            Response.Redirect("~/Login.aspx");
                        }
                    }
                    else
                    {
                        Response.Redirect("~/Login.aspx");
                    }
                    Session["myCurrentUser.kPortal"] = mUser.PortalUserId;
                }
                catch
                {
                    Response.Redirect("~/Login.aspx");
                }
            }
        }
 private void LoadProfile()
 {
     try
     {
         string     username = HttpContext.Current.User.Identity.Name.ToString(CultureInfo.InvariantCulture);
         portaluser mUser    = new PortalServiceManager().GetPortalUser(username);
         if (mUser != null)
         {
             if (mUser.PortalUserId > 0)
             {
                 Session["defaultUserProfile"] = mUser;
                 this.txtDesignation.Text      = mUser.Designation;
                 try
                 {
                     var membershipUser = Membership.GetUser(username);
                     if (membershipUser != null)
                     {
                         this.txtEmail.Text = membershipUser.Email;
                     }
                 }
                 catch { }
                 this.txtFirstName.Text    = mUser.FirstName;
                 this.txtLastName.Text     = mUser.LastName;
                 this.txtMobileNumber.Text = mUser.MobileNumber;
                 this.txtSex.Text          = Enum.Parse(typeof(kPortal.Common.EnumControl.Enums.Sex), mUser.SexId.ToString(CultureInfo.InvariantCulture)).ToString();
             }
         }
     }
     catch (Exception ex)
     {
         ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
         ErrorDisplay1.ShowError(ex.Message);
         return;
     }
 }
 public string GetUserFullName(int userId)
 {
     try
     {
         var user = new PortalServiceManager().GetPortalUserById(userId);
         return(user.FirstName + " " + user.LastName);
     }
     catch (Exception)
     {
         return("N/A");
     }
 }
        private bool LoadPortalUsers()
        {
            var userList = new PortalServiceManager().GetPortalUserList();

            if (userList == null || !userList.Any())
            {
                return(false);
            }

            Session["_userList"] = userList;
            return(true);
        }
        private void LoadserList()
        {
            try
            {
                var mlist = new PortalServiceManager().GetPortalUserList();
                if (mlist == null)
                {
                    dgPortalUsers.DataSource = new List <portaluser>();
                    dgPortalUsers.DataBind();
                }

                var userList = Membership.GetAllUsers();

                if (userList == null || userList.Count == 0)
                {
                    ConfirmAlertBox1.ShowMessage("Executive Officer list is empty.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var executiveOfficerRoleList = (from MembershipUser member in userList where Roles.IsUserInRole(member.UserName, "ExecutiveOfficer") select member).ToList();

                if (!executiveOfficerRoleList.Any())
                {
                    ConfirmAlertBox1.ShowMessage("The Transaction Approver list could not be retrieved. Your Transaction request notification cannot be sent.\n Approval of your request may be delayed.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var executiveOfficerList = new List <portaluser>();

                foreach (MembershipUser executive in executiveOfficerRoleList)
                {
                    if (mlist != null)
                    {
                        var executiveOfficer = mlist.Find(m => executive.ProviderUserKey != null && m.UserId == (int)executive.ProviderUserKey);
                        if (executiveOfficer == null || executiveOfficer.PortalUserId < 1)
                        {
                            continue;
                        }
                        executiveOfficerList.Add(executiveOfficer);
                    }
                }

                dgPortalUsers.DataSource = executiveOfficerList;
                dgPortalUsers.DataBind();
            }
            catch (Exception)
            {
                dgPortalUsers.DataSource = new List <portaluser>();
                dgPortalUsers.DataBind();
            }
        }
        protected void DgPortalUsersItemCommand(object source, DataGridCommandEventArgs e)
        {
            dgPortalUsers.SelectedIndex = e.Item.ItemIndex;

            var id = (DataCheck.IsNumeric(dgPortalUsers.DataKeys[e.Item.ItemIndex].ToString())) ? int.Parse(dgPortalUsers.DataKeys[e.Item.ItemIndex].ToString()) : 0;

            if (id < 1)
            {
                ConfirmAlertBox1.ShowMessage("Invalid Record Selection!", ConfirmAlertBox.PopupMessageType.Error);
                return;
            }

            var portalUser = new PortalServiceManager().GetPortalUserById(id);

            if (portalUser == null || portalUser.PortalUserId < 1)
            {
                ConfirmAlertBox1.ShowMessage("Invalid record selection.", ConfirmAlertBox.PopupMessageType.Error);
                return;
            }

            var user = Membership.GetUser(portalUser.UserId);

            if (user == null)
            {
                ConfirmAlertBox1.ShowMessage("Invalid record selection.", ConfirmAlertBox.PopupMessageType.Error);
                return;
            }

            var status = (portalUser.Status) ? 1 : 0;
            var email  = user.Email;

            var delegateService = new ApprovalDelegateService();

            if (!delegateService.AddDelegateApprover(portalUser.PortalUserId, status, email))
            {
                ConfirmAlertBox1.ShowMessage("User could not be added as an Approver. Please try again later or contact the Administrator.", ConfirmAlertBox.PopupMessageType.Error);
                return;
            }

            ConfirmAlertBox1.ShowSuccessAlert("User was successfully assigned the Approver role.");
        }
        private void GetVouchers()
        {
            try
            {
                if (Session["_voucherCollection"] == null)
                {
                    ConfirmAlertBox1.ShowMessage("Session has expired.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var genericCollection = (string)Session["_voucherCollection"];

                if (string.IsNullOrEmpty(genericCollection))
                {
                    ConfirmAlertBox1.ShowMessage("Session has expired.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var firstColl      = genericCollection.Split(',');
                var dictCollection = new Dictionary <long, string>();
                foreach (var th in firstColl)
                {
                    if (string.IsNullOrEmpty(th))
                    {
                        continue;
                    }
                    var secondcoll = th.Split('+');
                    var id         = long.Parse(secondcoll.ElementAt(0));
                    var word       = secondcoll.ElementAt(1);
                    dictCollection.Add(id, word);
                }

                if (!dictCollection.Any())
                {
                    ConfirmAlertBox1.ShowMessage("An unknown error was encountered. The process call was invalid.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var paymentVoucherList = ServiceProvider.Instance().GetExpenseTransactionPaymentHistoryServices().GetVoucherObjects(dictCollection);

                if (paymentVoucherList == null || !paymentVoucherList.Any())
                {
                    ConfirmAlertBox1.ShowMessage("An unknown error was encountered. The process call was invalid.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                try
                {
                    var zerosLimit = ConfigurationManager.AppSettings["ZerosLimit"];

                    foreach (var dictObject in paymentVoucherList)
                    {
                        var user = new PortalServiceManager().GetPortalUserById(dictObject.RequestedById);
                        dictObject.ReceivedBy  = dictObject.ReceivedBy;
                        dictObject.RequestedBy = user.FirstName + " " + user.LastName;
                        var approver = new PortalServiceManager().GetPortalUserById(dictObject.ApproverId);
                        dictObject.Approver = approver.FirstName + " " + approver.LastName;

                        if (string.IsNullOrWhiteSpace(zerosLimit))
                        {
                            dictObject.PcvNo = dictObject.PcvId.ToString(CultureInfo.InvariantCulture);
                        }
                        else
                        {
                            var zerosPrefix = int.Parse(zerosLimit);

                            dictObject.PcvNo = new xPlug.BusinessObject.CustomizedASPBusinessObject.PCVHelper.PcvHelper().PcvGenerator(dictObject.PcvId, zerosPrefix);
                        }
                    }
                }
                catch (Exception)
                {
                    return;
                }

                GenerateReport(paymentVoucherList);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
            }
        }
示例#9
0
        protected void DgPaymentHistoryCommand(object source, DataGridCommandEventArgs e)
        {
            try
            {
                dgPaymentHistory.SelectedIndex = e.Item.ItemIndex;

                long id = (DataCheck.IsNumeric(dgPaymentHistory.DataKeys[e.Item.ItemIndex].ToString())) ? long.Parse(dgPaymentHistory.DataKeys[e.Item.ItemIndex].ToString()) : 0;

                if (id < 1)
                {
                    ConfirmAlertBox1.ShowMessage("Invalid Record Selection!", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                var transactionHistory = ServiceProvider.Instance().GetExpenseTransactionPaymentHistoryServices().GetExpenseTransactionPaymentHistory(id);

                if (transactionHistory == null || transactionHistory.ExpenseTransactionPaymentHistoryId < 1)
                {
                    ConfirmAlertBox1.ShowMessage("Invalid selection", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                if (transactionHistory.PaymentModeId == 1)
                {
                    trCashPayment.Visible   = true;
                    trChequePayment.Visible = false;
                    var user = new PortalServiceManager().GetPortalUserById(transactionHistory.PaidById);
                    lblCashPaidBy.InnerText   = user.FirstName + " " + user.LastName;
                    lblCashAmount.InnerText   = "N" + NumberMap.GroupToDigits(transactionHistory.AmountPaid.ToString(CultureInfo.InvariantCulture));
                    lblCashDatePaid.InnerText = transactionHistory.PaymentDate;
                    lblCashTimePaid.InnerText = transactionHistory.PaymentTime;
                }

                if (transactionHistory.PaymentModeId == 2)
                {
                    trCashPayment.Visible   = false;
                    trChequePayment.Visible = true;
                    var user = new PortalServiceManager().GetPortalUserById(transactionHistory.PaidById);
                    lblChequePaidBy.InnerText   = user.FirstName + " " + user.LastName;
                    lblChequeAmount.InnerText   = "N" + NumberMap.GroupToDigits(transactionHistory.AmountPaid.ToString(CultureInfo.InvariantCulture));
                    lblChequeTimePaid.InnerText = transactionHistory.PaymentTime;
                    lblChequeDatePaid.InnerText = transactionHistory.PaymentDate;
                    var cheque = ServiceProvider.Instance().GetChequeServices().GetChequesByExpenseTransactionPaymentHistoryId(transactionHistory.ExpenseTransactionPaymentHistoryId);
                    if (cheque != null)
                    {
                        var defaultElement = cheque.ElementAtOrDefault(0);

                        if (defaultElement != null)
                        {
                            lblChequeNumber.InnerText = defaultElement.ChequeNo;
                            lblBank.InnerText         = defaultElement.Bank.BankName;
                        }
                    }
                }

                lgTransactionTitle.InnerHtml           = transactionHistory.ExpenseTransaction.ExpenseTitle;
                txttHistoryComment.Value               = transactionHistory.Comment;
                mpePaymentCommentPopup.PopupControlID  = "dvTransactionComment";
                mpePaymentCommentPopup.CancelControlID = "btnCloseDetails";
                mpePaymentCommentPopup.Show();
            }
            catch
            {
                ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error);
            }
        }
示例#10
0
        public string GetTransactionPaymentVouchers(string paymentHistoryIds)
        {
            try
            {
                if (string.IsNullOrEmpty(paymentHistoryIds))
                {
                    return(null);
                }

                var idArrays = paymentHistoryIds.Split(',');

                var newIdArray = new List <long>();

                foreach (var id in idArrays)
                {
                    if (!string.IsNullOrEmpty(id))
                    {
                        if (!newIdArray.Exists(m => m == long.Parse(id)))
                        {
                            newIdArray.Add(long.Parse(id));
                        }
                    }
                }

                if (!newIdArray.Any())
                {
                    return(null);
                }

                var dictObjeList =
                    ServiceProvider.Instance()
                    .GetExpenseTransactionPaymentHistoryServices()
                    .GetMyGenericVoucherObjectsByIds(newIdArray);
                if (dictObjeList == null || !dictObjeList.Any())
                {
                    return(null);
                }

                try
                {
                    var zerosLimit = ConfigurationManager.AppSettings["ZerosLimit"];

                    foreach (var dictObject in dictObjeList)
                    {
                        var user = new PortalServiceManager().GetPortalUserById(dictObject.RequestedById);
                        dictObject.ReceivedBy  = dictObject.ReceivedBy;
                        dictObject.RequestedBy = user.FirstName + " " + user.LastName;
                        var approver = new PortalServiceManager().GetPortalUserById(dictObject.ApproverId);
                        dictObject.Approver = approver.FirstName + " " + approver.LastName;

                        if (string.IsNullOrWhiteSpace(zerosLimit))
                        {
                            dictObject.PcvNo = dictObject.PcvId.ToString(CultureInfo.InvariantCulture);
                        }
                        else
                        {
                            var zerosPrefix = int.Parse(zerosLimit);

                            dictObject.PcvNo =
                                new xPlug.BusinessObject.CustomizedASPBusinessObject.PCVHelper.PcvHelper().PcvGenerator(
                                    dictObject.PcvId, zerosPrefix);
                        }
                    }

                    var jsSerializer = new JavaScriptSerializer
                    {
                        MaxJsonLength = Int32.MaxValue
                    };
                    return(jsSerializer.Serialize(dictObjeList));
                }

                catch (Exception)
                {
                    return(null);
                }
            }
            catch (Exception)
            {
                return(null);
            }
        }
示例#11
0
        public string GetVoucher(string paymentHistoryId)
        {
            try
            {
                if (string.IsNullOrEmpty(paymentHistoryId))
                {
                    return(null);
                }

                Int64 outLong = 0;

                var result = Int64.TryParse(paymentHistoryId, out outLong);

                if (result)
                {
                    var dictObject = ServiceProvider.Instance().GetExpenseTransactionPaymentHistoryServices().GetMyGenericVoucherObject(outLong);

                    if (dictObject == null || dictObject.TransactionpaymentHistoryId < 1)
                    {
                        return(null);
                    }

                    var zerosLimit = ConfigurationManager.AppSettings["ZerosLimit"];

                    if (string.IsNullOrWhiteSpace(zerosLimit))
                    {
                        dictObject.PcvNo = dictObject.PcvId.ToString(CultureInfo.InvariantCulture);
                    }
                    else
                    {
                        var zerosPrefix = int.Parse(zerosLimit);

                        dictObject.PcvNo = new xPlug.BusinessObject.CustomizedASPBusinessObject.PCVHelper.PcvHelper().PcvGenerator(dictObject.PcvId, zerosPrefix);
                    }

                    try
                    {
                        var user = new PortalServiceManager().GetPortalUserById(dictObject.RequestedById);
                        dictObject.ReceivedBy  = dictObject.ReceivedBy;
                        dictObject.RequestedBy = user.FirstName + " " + user.LastName;
                        var approver = new PortalServiceManager().GetPortalUserById(dictObject.ApproverId);
                        dictObject.Approver = approver.FirstName + " " + approver.LastName;
                    }
                    catch (Exception)
                    {
                        dictObject.ReceivedBy = "N/A";
                        dictObject.Approver   = "N/A";
                    }
                    Session["_paymentHistory"] = null;
                    Session["_paymentHistory"] = dictObject;

                    var jsSerializer = new JavaScriptSerializer
                    {
                        MaxJsonLength = Int32.MaxValue
                    };
                    return(jsSerializer.Serialize(dictObject));
                }

                return(null);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                return(null);
            }
        }
示例#12
0
        public string GetVoidedTransactionPaymentVouchersByDateRange(string startDate, string endDate)
        {
            if (!ValidateVouchersByDateArguments(startDate, endDate))
            {
                return(null);
            }

            if (string.IsNullOrEmpty(startDate) || string.IsNullOrEmpty(endDate))
            {
                return(null);
            }

            try
            {
                var start = DateTime.Parse(DateMap.ReverseToServerDate(startDate.Trim()));
                var end   = DateTime.Parse(DateMap.ReverseToServerDate(endDate.Trim()));

                if (end < start || start > end)
                {
                    return(null);
                }

                var dictObjeList =
                    ServiceProvider.Instance()
                    .GetExpenseTransactionPaymentHistoryServices()
                    .GetVoidedTransactionPaymentVoucherObjectsByDateRange(start, end);
                var allpaymentsByDateCollections = new List <List <DictObject> >();
                if (dictObjeList == null || !dictObjeList.Any())
                {
                    return(null);
                }

                try
                {
                    var zerosLimit = ConfigurationManager.AppSettings["ZerosLimit"];

                    foreach (var dictObject in dictObjeList)
                    {
                        var user = new PortalServiceManager().GetPortalUserById(dictObject.RequestedById);
                        dictObject.ReceivedBy  = dictObject.ReceivedBy;
                        dictObject.RequestedBy = user.FirstName + " " + user.LastName;
                        var approver = new PortalServiceManager().GetPortalUserById(dictObject.ApproverId);
                        dictObject.Approver = approver.FirstName + " " + approver.LastName;

                        if (string.IsNullOrWhiteSpace(zerosLimit))
                        {
                            dictObject.PcvNo = dictObject.PcvId.ToString(CultureInfo.InvariantCulture);
                        }
                        else
                        {
                            var zerosPrefix = int.Parse(zerosLimit);

                            dictObject.PcvNo =
                                new xPlug.BusinessObject.CustomizedASPBusinessObject.PCVHelper.PcvHelper().PcvGenerator(
                                    dictObject.PcvId, zerosPrefix);
                        }
                    }
                }
                catch (Exception)
                {
                    return(null);
                }

                foreach (var payment in dictObjeList)
                {
                    if (
                        !allpaymentsByDateCollections.Exists(
                            m1 =>
                            m1.All(m2 => m2.DepartmentId == payment.DepartmentId && m2.DatePaid == payment.DatePaid)))
                    {
                        var newVoucherList =
                            dictObjeList.FindAll(
                                m =>
                                m.DepartmentId == payment.DepartmentId && m.DatePaid == payment.DatePaid);

                        if (newVoucherList.Any())
                        {
                            allpaymentsByDateCollections.Add(newVoucherList);
                        }
                    }
                }

                var jsSerializer = new JavaScriptSerializer {
                    MaxJsonLength = Int32.MaxValue
                };
                return(jsSerializer.Serialize(allpaymentsByDateCollections));
            }
            catch (Exception)
            {
                return(null);
            }
        }
        private void GetTransactionsByDate()
        {
            try
            {
                dgUserInitiatedTransactions.DataSource = new List <ExpenseTransaction>();
                dgUserInitiatedTransactions.DataBind();

                var expTransactionsByDate = new List <ExpenseTransaction>();
                var status    = int.Parse(ddlFilterOption.SelectedValue);
                var startDate = DateTime.ParseExact(txtStart.Text.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                var endDate   = DateTime.ParseExact(txtEndDate.Text.Trim(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                if (endDate < startDate || startDate > endDate)
                {
                    ConfirmAlertBox1.ShowMessage("The 'From' date must not be LATER than the 'To' date.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }

                if (HttpContext.Current.User.IsInRole("PortalAdmin"))
                {
                    if (status == 0)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetApprovedOrVoidedExpenseTransactionsByDateRange(startDate, endDate);
                    }

                    if (status == 1)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetApprovedTransactionsByDateRange(startDate, endDate);
                    }

                    if (status == 2)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetVoidedTransactionsByDateRange(startDate, endDate);
                    }
                }
                else
                {
                    var userId = new PortalServiceManager().GetUserIdByUsername(HttpContext.Current.User.Identity.Name);

                    if (userId < 1)
                    {
                        ConfirmAlertBox1.ShowMessage("Your user details could not be retrieved.", ConfirmAlertBox.PopupMessageType.Error);
                        return;
                    }

                    if (status == 0)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetPortalUserApprovedOrVoidedExpenseTransactionsByDateRange(userId, startDate, endDate);
                    }

                    if (status == 1)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetPortalUserApprovedTransactionsByDateRange(userId, startDate, endDate);
                    }

                    if (status == 2)
                    {
                        expTransactionsByDate = ServiceProvider.Instance().GetExpenseTransactionServices().GetPortalUserVoidedTransactionsByDateRange(userId, startDate, endDate);
                    }
                }

                if (!expTransactionsByDate.Any())
                {
                    ConfirmAlertBox1.ShowMessage("No record found.", ConfirmAlertBox.PopupMessageType.Error);
                    return;
                }
                Session["_approvedOrVoidedExpTransactionList"] = null;
                Session["_approvedOrVoidedExpTransactionList"] = expTransactionsByDate;

                Limit = int.Parse(ddlLimit.SelectedValue);
                FillRepeater <ExpenseTransaction>(dgUserInitiatedTransactions, "_approvedOrVoidedExpTransactionList", Navigation.None, Limit, LoadMethod);
                SetTransactionsStyle();
            }
            catch (Exception ex)
            {
                ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error);
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
            }
        }
        private bool LoadFilteredPortalUsers()
        {
            try
            {
                ErrorDisplay1.ClearError();

                dgExpenseTransaction.DataSource = new List <StaffExpenseTransaction>();
                dgExpenseTransaction.DataBind();

                ddlPortalUser.DataSource = new List <portaluser>();
                ddlPortalUser.Items.Insert(0, new ListItem("--List is empty--", "0"));
                ddlPortalUser.SelectedIndex = 0;

                ddlStaffPortalUsersVouchers.DataSource = new List <portaluser>();
                ddlStaffPortalUsersVouchers.Items.Insert(0, new ListItem("--List is empty--", "0"));
                ddlStaffPortalUsersVouchers.SelectedIndex = 0;


                var portalUsersWithRegisteredTransactions = ServiceProvider.Instance().GetStaffExpenseTransactionServices().GetFilteredPortalUsers();

                if (portalUsersWithRegisteredTransactions == null || !portalUsersWithRegisteredTransactions.Any())
                {
                    ErrorDisplay1.ShowError("Portal User Transaction list is empty.");
                    return(false);
                }
                var idsForUsersWithUnApprovedTransactions = portalUsersWithRegisteredTransactions.ElementAt(0).Key.FindAll(m => m > 0).ToList();
                var idsForUsersWithApprovedTransactions   = portalUsersWithRegisteredTransactions.ElementAt(0).Value.FindAll(m => m > 0).ToList();
                var portalUsers = new PortalServiceManager().GetPortalUserList();
                if (portalUsers == null || !portalUsers.Any())
                {
                    return(false);
                }


                var portalUsersWithUnApprovedTransactions = new List <portaluser>();

                var portalUsersWithApprovedTransactions = new List <portaluser>();


                foreach (var userId in idsForUsersWithUnApprovedTransactions.Where(portaluserId => portalUsersWithUnApprovedTransactions.All(m => m.UserId != portaluserId)))
                {
                    portalUsersWithUnApprovedTransactions.Add(portalUsers.Find(m => m.UserId == userId));
                }

                foreach (var userId in idsForUsersWithApprovedTransactions.Where(portaluserId => portalUsersWithApprovedTransactions.All(m => m.UserId != portaluserId)))
                {
                    portalUsersWithApprovedTransactions.Add(portalUsers.Find(m => m.UserId == userId));
                }

                if (portalUsersWithUnApprovedTransactions.Any())
                {
                    ddlPortalUser.DataSource     = portalUsersWithUnApprovedTransactions;
                    ddlPortalUser.DataTextField  = "UserName";
                    ddlPortalUser.DataValueField = "UserId";
                    ddlPortalUser.DataBind();
                    ddlPortalUser.Items.Insert(0, new ListItem("--Select a User--", "0"));
                    ddlPortalUser.SelectedIndex = 0;
                }

                if (portalUsersWithApprovedTransactions.Any())
                {
                    ddlStaffPortalUsersVouchers.DataSource     = portalUsersWithApprovedTransactions;
                    ddlStaffPortalUsersVouchers.DataTextField  = "UserName";
                    ddlStaffPortalUsersVouchers.DataValueField = "UserId";
                    ddlStaffPortalUsersVouchers.DataBind();
                    ddlStaffPortalUsersVouchers.Items.Insert(0, new ListItem("--Select a User--", "0"));
                    ddlStaffPortalUsersVouchers.SelectedIndex = 0;
                }

                dgExpenseTransaction.DataSource = new List <StaffExpenseTransaction>();
                dgExpenseTransaction.DataBind();
                SetApprovedTransactionStyle();
                Session["_filteredStaffPortalUserList"] = portalUsersWithUnApprovedTransactions;
                return(true);
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                ErrorDisplay1.ShowError("An unknown error was encountered. Please try again soon or contact the Admin.");
                return(false);
            }
        }
        private void SaveData()
        {
            try
            {
                if (Session["defaultUserProfile"] == null)
                {
                    ErrorDisplay1.ShowError("Session Expired! Please try again soon");
                    return;
                }

                portaluser mUser;
                try
                {
                    mUser = (portaluser)Session["defaultUserProfile"];
                    if (mUser == null)
                    {
                        ErrorDisplay1.ShowError("Session Expired! Please try again soon");
                        return;
                    }
                }
                catch
                {
                    ErrorDisplay1.ShowError("Session Expired! Please try again soon");
                    return;
                }

                mUser.DateRegistered = XPLUG.WEBTOOLS.DateMap.GetLocalDate();
                mUser.Designation    = this.txtDesignation.Text.Trim();
                mUser.FirstName      = this.txtFirstName.Text.Trim();
                mUser.LastName       = this.txtLastName.Text.Trim();
                mUser.MobileNumber   = txtMobileNumber.Text.Trim();
                var k = new PortalServiceManager().UpdatePortalUser(mUser);
                if (k < 1)
                {
                    if (k == -3)
                    {
                        ErrorDisplay1.ShowError("The user name already exists.");
                        return;
                    }

                    if (k == -4)
                    {
                        ErrorDisplay1.ShowError("A user with the same mobile number already exists.");
                        return;
                    }

                    if (k == -5)
                    {
                        ErrorDisplay1.ShowError("The user information already exists.");
                        return;
                    }
                }

                MembershipUser myuser = Membership.GetUser(HttpContext.Current.User.Identity.Name.ToString(CultureInfo.InvariantCulture));
                if (myuser != null)
                {
                    myuser.Email = this.txtEmail.Text;
                    Membership.UpdateUser(myuser);
                }

                Session["defaultUserProfile"] = mUser;
                ErrorDisplay1.ShowSuccess("Profile Information Was Updated");
            }
            catch (Exception ex)
            {
                ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message);
                ErrorDisplay1.ShowError(ex.Message);
                return;
            }
        }