示例#1
0
    //public static int? GetCampusID()
    //{
    //    var user = GetUserData();

    //    if (user.Role == "Admin")
    //    {
    //        return (int?)null;
    //    }

    //    return user.CampusID;
    //}

    //public static int GetCampusIDForAddition()
    //{
    //    return HttpContext.Current.Session["CampusID"] != null ? int.Parse(HttpContext.Current.Session["CampusID"].ToString()) : 0;
    //}



    public static void AddEntryInCustomerLedger(int userID, decimal amount, int?refernceID, string adType, string desc)
    {
        decimal balance = 0;
        var     entity  = new ScentaurusEntities2();
        var     data    = entity.Ledgers.Where(x => x.UserID == userID).OrderByDescending(x => x.ID).ToList();

        if (data.Count > 0)
        {
            balance = data.FirstOrDefault().Balance;
        }

        var led = new Ledger();

        led.UserID         = userID;
        led.ReferenceID    = refernceID;
        led.AdjustmentType = adType;
        led.Amount         = amount;
        led.Type           = amount < 0 ? "Credit" : "Debit";
        led.CreatedBy      = GetUserName();
        led.Balance        = balance + amount;

        led.CreatedTimeStamp = DateTime.Now;
        entity.Ledgers.Add(led);
        entity.SaveChanges();

        int stdLedgerID = entity.Ledgers.OrderByDescending(x => x.ID).FirstOrDefault().ID;

        //if (amount < 0)
        //{
        //    AddEntryInLedger(amount * -1, stdLedgerID, InstAdjustmentType.StudentLedgerDebit);
        //}
    }
示例#2
0
    protected void ibDeleteLevel_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            int          userID = int.Parse(hdnUserID.Value);
            var          levels = Session["MemberLevels"] != null ? (List <UserNthLevel>)Session["MemberLevels"] : new List <UserNthLevel>();
            RepeaterItem item   = ((ImageButton)sender).NamingContainer as RepeaterItem;

            var hdnLevelID = int.Parse((item.FindControl("hdnLevelID") as HiddenField).Value);

            var context = new ScentaurusEntities2();
            var pLevel  = context.UserNthLevels.Where(x => x.ID == hdnLevelID).FirstOrDefault();
            context.UserNthLevels.Remove(pLevel);
            context.SaveChanges();
            levels = context.UserNthLevels.Where(x => x.UserID == userID).OrderBy(x => x.LevelNumber).ToList();
            int levelNumber = 1;

            foreach (var level in levels)
            {
                level.LevelNumber = levelNumber;
                levelNumber++;
                context.SaveChanges();
            }

            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["MemberLevels"] = levels;

            Utils.ShowAlert(this, "Success", "Record deleted successfully.", true);
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message.Replace("'", ""), false);
        }
    }
示例#3
0
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        try
        {
            int prodID  = int.Parse(hdnProductID.Value);
            var context = new ScentaurusEntities2();
            var levels  = Session["Levels"] != null ? (List <ProductLevel>)Session["Levels"] : new List <ProductLevel>();
            var prod    = context.Products.Where(x => x.ID == prodID).FirstOrDefault();

            prod.ProductName    = txtProductName.Text;
            prod.FinalSalePrice = decimal.Parse(txtCost.Text);
            prod.IsActive       = chkIsActive.Checked;

            var result = context.SaveChanges() > 0;

            levels = context.ProductLevels.Where(x => x.ProductID == prodID).ToList();
            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["Levels"] = levels;
            lblLevel.Text     = (rptLevels.Items.Count + 1).ToString();
            Utils.ShowAlert(this, "Success", "Product udpated successfully. Please add levels to continue.", true);
            divlevels.Visible     = true;
            pnlAddProduct.Visible = false;
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#4
0
    protected void btnAddLevel_Click(object sender, EventArgs e)
    {
        try
        {
            int prodID  = int.Parse(hdnProductID.Value);
            var context = new ScentaurusEntities2();
            var levels  = Session["Settings"] != null ? (List <Config>)Session["Settings"] : new List <Config>();
            context.Configs.Add(new Config()
            {
                KeyName  = txtKeyNames.Text,
                KeyValue = txtKeyValues.Text,
                IsActive = true
            });
            var result = context.SaveChanges() > 0;

            levels = context.Configs.ToList();
            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["Settings"] = levels;
            Utils.ShowAlert(this, "Success", "Key added successfully.", true);
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#5
0
    protected void ibUpdateLevel_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            int          prodID = int.Parse(hdnProductID.Value);
            var          levels = Session["Levels"] != null ? (List <ProductLevel>)Session["Levels"] : new List <ProductLevel>();
            RepeaterItem item   = ((ImageButton)sender).NamingContainer as RepeaterItem;

            var hdnLevelID         = int.Parse((item.FindControl("hdnLevelID") as HiddenField).Value);
            var txtLevelPercentage = item.FindControl("txtLevelPercentage") as TextBox;

            var ibUpdateLevel = item.FindControl("ibUpdateLevel") as ImageButton;
            var ibEditLevel   = item.FindControl("ibEditLevel") as ImageButton;


            var context = new ScentaurusEntities2();
            var pLevel  = context.ProductLevels.Where(x => x.ID == hdnLevelID).FirstOrDefault();

            pLevel.Percentage = decimal.Parse
                                    (txtLevelPercentage.Text);
            context.SaveChanges();
            levels = context.ProductLevels.Where(x => x.ProductID == prodID).OrderBy(x => x.LevelNumber).ToList();

            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["Levels"] = levels;

            Utils.ShowAlert(this, "Success", "Record updated successfully.", true);
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#6
0
    protected void ibDeleteLevel_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            var          levels = Session["Settings"] != null ? (List <Config>)Session["Settings"] : new List <Config>();
            RepeaterItem item   = ((ImageButton)sender).NamingContainer as RepeaterItem;

            var hdnLevelID = int.Parse((item.FindControl("hdnID") as HiddenField).Value);

            var context = new ScentaurusEntities2();
            var pLevel  = context.Configs.Where(x => x.Id == hdnLevelID).FirstOrDefault();
            context.Configs.Remove(pLevel);
            context.SaveChanges();

            levels = context.Configs.ToList();
            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["Settings"] = levels;

            Utils.ShowAlert(this, "Success", "Record deleted successfully.", true);
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message.Replace("'", ""), false);
        }
    }
示例#7
0
    protected void btnAddLevel_Click(object sender, EventArgs e)
    {
        try
        {
            int prodID  = int.Parse(hdnProductID.Value);
            var context = new ScentaurusEntities2();
            var levels  = Session["Levels"] != null ? (List <ProductLevel>)Session["Levels"] : new List <ProductLevel>();
            context.ProductLevels.Add(new ProductLevel()
            {
                ProductID = prodID
                ,
                LevelNumber = int.Parse(lblLevel.Text)
                ,
                IsActive = true
                ,
                CreatedBy = Utils.GetUserName()
                ,
                Percentage = decimal.Parse(txtPercentage.Text)
                ,
                TimeStamp = DateTime.Now
            });
            var result = context.SaveChanges() > 0;

            levels = context.ProductLevels.Where(x => x.ProductID == prodID).ToList();
            rptLevels.DataSource = levels;
            rptLevels.DataBind();
            Session["Levels"] = levels;
            lblLevel.Text     = (rptLevels.Items.Count + 1).ToString();
            Utils.ShowAlert(this, "Success", "Level added successfully.", true);
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#8
0
    //private void FillNodes(List<DB.Page> data)
    //{
    //    try
    //    {
    //        TreeNode tnode = null;
    //        TreeView tv = new TreeView();

    //        foreach (var row in data)
    //        {
    //            DataTable dtChilds = new DataTable();
    //            tnode = new TreeNode();
    //            //tnode.Checked = row.IsAllowed;
    //            tnode.Text = row.Title;
    //            tnode.Value = row.ID.ToString();
    //            tnode.SelectAction = TreeNodeSelectAction.None;
    //            nodes.Add(tnode);

    //            var childPages = new DB.EduMSEntities().Pages.Where(x => x.ParentID == row.ID).ToList();

    //            if (childPages.Count > 0)
    //            {
    //                FillNodes(childPages);
    //            }

    //            //if (tnode.Text == "Plans")
    //            //{
    //            //    // Set a class so disabled nodes can be formatted thru CSS
    //            //    // and be identifiable as disabled in Javascript.
    //            //    tnode.Text = "<span class=disabledTreeviewNode>" + tnode.Text + "</span>";
    //            //}

    //            //if (tnode.Text.ToUpper() == "USERS" && ddl_Type.SelectedValue == "2")
    //            //{
    //            //}
    //            //else
    //            //{
    //            //    if (tnode.Text.ToUpper() == "ADD USER" && ddl_Type.SelectedValue == "3")
    //            //    {
    //            //    }
    //            //    else
    //            //    {


    //            var entity = new DB.EduMSEntities();
    //            var cdata = entity.UserPages.Where(x => x.User.Username.ToLower() == txtUserName.Text.ToLower() && x.Page.ParentID == row.PageID).ToList();

    //            if (data.Count > 0)
    //            {
    //                // tnode.PopulateOnDemand = true;
    //                PopulateNodes(cdata, tnode.ChildNodes);
    //            }
    //            // }
    //            //}
    //        }
    //    }
    //    catch (Exception ex)
    //    {
    //        DisplayMessage(@"Error while getting child pages.");
    //    }
    //}

    /// <summary>
    /// This method is used to fill pages in tree view.
    /// </summary>
    private void FillPages(string userName)
    {
        try
        {
            ScentaurusEntities2 entity = MyDBContext;
            List <UserPage>     data   = entity.UserPages.Where(x => x.UserDetail.Username.ToLower() == userName.ToLower() && x.Page.ParentID == null).ToList();

            //UsersOps.GetAllParentPagesByUserName(userName, out dtParents);

            //if (dtParents.Select("ParentID = -1").Length > 0)
            //{
            //    dtDashboardFilter = dtParents.Select("ParentID = -1 AND PageTitle ='Dashboard/User'", "OrderNo").CopyToDataTable(); // AND PageTitle <> 'Dashboard/User'
            //}

            //dtDashboardFilter.DefaultView.RowFilter = Labels.Users.PageTitleFilter;
            //PopulateDashboardUserNodes(dtDashboardFilter.DefaultView, tvDashboardUser.Nodes);
            //tvDashboardUser.CollapseAll();

            //if (dtParents.Select("ParentID = -1").Length > 0)
            //{
            //    dtParents = dtParents.Select("ParentID = -1 AND PageTitle <> 'Dashboard/User'", "OrderNo").CopyToDataTable(); // AND PageTitle <> 'Dashboard/User'
            //}

            //dtParents.DefaultView.RowFilter = Labels.Users.PageTitleFilter;



            //dtParents.DefaultView.RowFilter = Labels.Users.DocumentFilter;
            //PopulateNodes(dtParents.DefaultView, tvTemplates.Nodes);
        }
        catch (Exception)
        {
            DisplayMessage(@"Error while getting parent pages information.");
        }
    }
示例#9
0
    protected void chkSelect_CheckedChanged(object sender, EventArgs e)
    {
        try
        {
            GridViewRow gvr       = ((CheckBox)sender).NamingContainer as GridViewRow;
            HiddenField hdnID     = gvr.FindControl("hdnID") as HiddenField;
            CheckBox    chkSelect = gvr.FindControl("chkSelect") as CheckBox;
            int         userID    = int.Parse(hdnID.Value);

            if (chkSelect.Checked)
            {
                ScentaurusEntities2 entity = MyDBContext;
                UserDetail          std    = entity.UserDetails.Where(x => x.ID == userID).FirstOrDefault();
                std.IsActive = true;
                entity.SaveChanges();
                FillGrid();
                Utils.ShowAlert(this, "User activated successfully.");
            }
            else
            {
                ScentaurusEntities2 entity = MyDBContext;
                UserDetail          std    = entity.UserDetails.Where(x => x.ID == userID).FirstOrDefault();
                std.IsActive = false;
                entity.SaveChanges();
                FillGrid();
                Utils.ShowAlert(this, "User inactivated successfully.");
            }
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#10
0
    private void IsUserAllowedToViewPage()
    {
        string BaseUrl         = WebConfigurationManager.AppSettings["BaseURL"];
        string Pagename        = Request.Url.ToString().Replace(BaseUrl, "").Trim();
        string segmentPageName = Request.Url.Segments[Request.Url.Segments.Length - 1];

        if (!new string[] { "notauthorized.aspx", "dashboardsettings.aspx", "createrequest.aspx", "logout.aspx", "home.aspx" }.Any(x => x == segmentPageName.ToLower()))
        {
            ScentaurusEntities2 entity = new ScentaurusEntities2();
            string userName            = Utils.GetUserName();
            System.Collections.Generic.List <UserPage> pages = entity.UserPages.Where(x => x.UserDetail.Username.ToLower().Trim() == userName.ToLower().Trim() &&
                                                                                      (segmentPageName.ToLower().Trim().Contains(x.Page.URL.ToLower().Trim()) || Pagename.ToLower().Trim().Contains(x.Page.URL.ToLower().Trim()))
                                                                                      ).ToList();

            if (pages.Count == 0)
            {
                if (new string[] { "customerledger.aspx", "editmember.aspx", "addadjustment.aspx", "feelist.aspx", "stdledger.aspx", "addproduct.aspx" }.Any(x => x == segmentPageName.ToLower()))
                {
                    System.Collections.Generic.List <UserPage> p = entity.UserPages.Where(x => x.UserDetail.Username.ToLower().Trim() == userName.ToLower().Trim() && "customers.aspx".Contains(x.Page.URL.ToLower().Trim())).ToList();

                    if (p.Count == 0)
                    {
                        Response.Redirect("NotAuthorized.aspx");
                    }
                }
                else
                {
                    Response.Redirect("NotAuthorized.aspx");
                }
            }
        }
    }
示例#11
0
    private void LoadCheckOutButton()
    {
        ScentaurusEntities2 entity = new ScentaurusEntities2();
        int userID = Utils.GetUserData().ID;

        if (entity.CheckOutRequests.Where(x => x.UserID == userID && x.Status == "Pending").ToList().Count > 0)
        {
            btnCheckOut.Text    = "Check Out Pending";
            btnCheckOut.Enabled = false;
            btnCheckOut.ToolTip = "A check out request is already in pending state";
        }
        else
        {
            Ledger ledger = entity.Ledgers.OrderByDescending(x => x.ID).FirstOrDefault(x => x.UserID == userID);

            if (ledger != null && ledger.Balance > 0)
            {
                decimal amount = ledger.Balance;
                btnCheckOut.Text = "Check Out RS/" + amount.ToString();
            }
            else
            {
                btnCheckOut.Text    = "No Amount to Check Out";
                btnCheckOut.Enabled = false;
            }
        }
    }
示例#12
0
    private string LoadMenuContent(int pageID)
    {
        int    userID              = Utils.GetUserData().ID;
        string content             = string.Empty;
        ScentaurusEntities2 entity = new ScentaurusEntities2();

        System.Collections.Generic.List <UserPage> pages = entity.UserPages.Where(x => x.UserID == userID && x.Page.ParentID == pageID).OrderBy(x => x.Page.SortOrder).ToList();

        if (pages.Count > 0)
        {
            Page cpage = entity.Pages.Where(x => x.ID == pageID).FirstOrDefault();
            content += string.Format(ParentMenu, cpage.Title);
            string childM = string.Empty;

            foreach (UserPage item in pages)
            {
                childM += LoadMenuContent(item.Page.ID);
            }

            content += string.Format(ul, childM);
        }
        else
        {
            Page cpage = entity.Pages.Where(x => x.ID == pageID).FirstOrDefault();
            content += string.Format(childMenu, cpage.URL, cpage.Title);
        }

        return(content);
    }
示例#13
0
    private void LoadRepeater()
    {
        ScentaurusEntities2 entity = MyDBContext;

        List <Context.Page> data = entity.Pages.Where(x => x.ParentID == null).OrderBy(x => x.ID).ToList();

        rpPages.DataSource = data;
        rpPages.DataBind();
    }
示例#14
0
    private void LoadGrid()
    {
        ScentaurusEntities2 entity = MyDBContext;

        List <UserDetail> data = entity.UserDetails.OrderByDescending(x => x.ID).ToList();

        gvw_Search.DataSource = data;
        gvw_Search.DataBind();
    }
示例#15
0
    /// <summary>
    /// This method is used to populate nodes.
    /// </summary>
    private void PopulateNodes(List <UserPage> data, TreeNodeCollection nodes)
    {
        try
        {
            TreeNode tnode = null;

            foreach (UserPage row in data)
            {
                DataTable dtChilds = new DataTable();
                tnode = new TreeNode
                {
                    Checked      = row.IsAllowed.HasValue ? row.IsAllowed.Value : false,
                    Text         = row.Page.Title,
                    Value        = row.PageID.ToString(),
                    SelectAction = TreeNodeSelectAction.None
                };

                if (tnode.Text == "Plans")
                {
                    // Set a class so disabled nodes can be formatted thru CSS
                    // and be identifiable as disabled in Javascript.
                    tnode.Text = "<span class=disabledTreeviewNode>" + tnode.Text + "</span>";
                }

                if (tnode.Text.ToUpper() == "USERS" && ddl_Type.SelectedValue == "2")
                {
                }
                else
                {
                    if (tnode.Text.ToUpper() == "ADD USER" && ddl_Type.SelectedValue == "3")
                    {
                    }
                    else
                    {
                        nodes.Add(tnode);

                        ScentaurusEntities2 entity = MyDBContext;
                        List <UserPage>     cdata  = entity.UserPages.Where(x => x.UserDetail.Username.ToLower() == txtUserName.Text.ToLower() && x.Page.ParentID == row.PageID).ToList();

                        if (cdata.Count > 0)
                        {
                            // tnode.PopulateOnDemand = true;
                            PopulateNodes(cdata, tnode.ChildNodes);
                        }
                    }
                }

                dtChilds.Dispose();
            }
        }
        catch (Exception)
        {
            DisplayMessage(@"Error while getting child pages.");
        }
    }
示例#16
0
    /// <summary>
    /// This method is used to populate sub nodes.
    /// </summary>
    private void PopulateSubNodes(int parentID, TreeNode parentnode)
    {
        try
        {
            ScentaurusEntities2 entity = MyDBContext;
            List <UserPage>     data   = entity.UserPages.Where(x => x.UserDetail.Username.ToLower() == txtUserName.Text.ToLower() && x.Page.ParentID == parentID).ToList();

            PopulateNodes(data, parentnode.ChildNodes);
        }
        catch (Exception)
        {
            DisplayMessage(@"Error while getting child pages.");
        }
    }
示例#17
0
    public static void AddEntryInLedger(decimal amount, int?refernceID, string adType)
    {
        var entity = new ScentaurusEntities2();
        var led    = new Ledger();

        led.ReferenceID    = refernceID;
        led.AdjustmentType = adType;
        led.Amount         = amount;
        led.Type           = amount < 0 ? "Credit" : "Debit";

        led.CreatedBy = GetUserName();

        led.CreatedTimeStamp = DateTime.Now;
        entity.Ledgers.Add(led);
        entity.SaveChanges();
    }
示例#18
0
    protected void btnCheckOut_Click(object sender, EventArgs e)
    {
        try
        {
            ScentaurusEntities2 context = new ScentaurusEntities2();

            Config checkOutLimit = context.Configs.Where(x => x.KeyName.ToLower() == "checkoutlimit").FirstOrDefault();

            int userID = Utils.GetUserData().ID;
            IQueryable <SalesComissionNthLevel> com = context.SalesComissionNthLevels.Where(x => x.BeneficierUserID == userID && x.IsCheckOut == false);
            //decimal? amount = com.Sum(x => x.ComissionAmount);

            decimal?amount = context.Ledgers.OrderByDescending(x => x.ID).FirstOrDefault(x => x.UserID == userID).Balance;

            if (amount >= decimal.Parse(checkOutLimit.KeyValue))
            {
                foreach (SalesComissionNthLevel c in com)
                {
                    c.Status = "Pending";
                }

                context.SaveChanges();

                CheckOutRequest coRequest = new CheckOutRequest
                {
                    UserID      = userID,
                    TimeStamp   = DateTime.Now,
                    Status      = "Pending",
                    Amount      = amount.HasValue ? amount.Value : 0,
                    CreatedBy   = Utils.GetUserName(),
                    Description = "Checking out request of amount " + amount.ToString()
                };

                context.CheckOutRequests.Add(coRequest);
                context.SaveChanges();
                LoadCheckOutButton();
                Utils.ShowAlert(this, "A Check out request generated against your amount successfully. Please collect your amount after it gets approved.");
            }
            else
            {
                Utils.ShowAlert(this, "Error", "Cannot check out request until you have atleast RS:" + checkOutLimit.KeyValue + " in your account.", false);
            }
        }
        catch (Exception ex)
        { Utils.ShowAlert(this, "Error", ex.Message, false); }
    }
示例#19
0
    /// <summary>
    /// This method is used to fill the grid view.
    /// </summary>
    private void FillGrid()
    {
        try
        {
            ScentaurusEntities2 entity = MyDBContext;
            //x.IsActive == true
            List <UserDetail> data = entity.UserDetails.Where(x => x.Username != "Admin").ToList();
            Session["UsersPageData"] = data;
            LoadDataFromSession();

            tblListing.Visible = true;
            tblDetail.Visible  = false;
        }
        catch (Exception)
        {
            DisplayMessage(@"Error while getting information.");
        }
    }
示例#20
0
 protected void btnReject_Click(object sender, EventArgs e)
 {
     try
     {
         ScentaurusEntities2 context = MyDBContext;
         GridViewRow         item    = ((Button)sender).NamingContainer as GridViewRow;
         int         hdnID           = int.Parse((item.FindControl("hdnID") as HiddenField).Value);
         UserRequest req             = context.UserRequests.Where(x => x.ID == hdnID).FirstOrDefault();
         req.Status = "Rejected";
         context.SaveChanges();
         LoadData();
         Utils.ShowAlert(this, "Request rejected successfully.");
     }
     catch (Exception ex)
     {
         Utils.ShowAlert(this, "Error", ex.Message, false);
     }
 }
示例#21
0
    private void LoadMenu()
    {
        LoadCheckOutButton();

        string menuContent         = string.Empty;
        ScentaurusEntities2 entity = new ScentaurusEntities2();
        string userName            = Utils.GetUserName();

        System.Collections.Generic.List <UserPage> pMenu = entity.UserPages.Where(x => x.UserDetail.Username.ToLower().Trim() == userName.ToLower().Trim() &&
                                                                                  (x.IsAllowed.HasValue ? x.IsAllowed.Value : false) && x.Page.ParentID == null).OrderBy(x => x.Page.SortOrder).ToList();

        foreach (UserPage item in pMenu)
        {
            menuContent += LoadMenuContent(item.PageID.Value);
        }

        lMenu.Text = menuContent;
    }
示例#22
0
    protected void Login_Click(object sender, EventArgs e)
    {
        try
        {
            var db = new ScentaurusEntities2();

            var user = db.UserDetails.Where(x => x.Username.ToLower() == txtUserName.Text.ToLower() && x.Password == txtPassword.Text && x.IsActive);

            if (user.ToList().Count > 0)
            {
                var obj = user.ToList().FirstOrDefault();

                Utils.SetUserData(obj);
                Response.Redirect("Dashboard.aspx");
            }
            else
            {
                Utils.ShowAlert(this, "Error", "Invalid user credentials", false);
            }
        }
        catch (Exception ex)
        { }
    }
示例#23
0
    protected void btnAddProduct_Click(object sender, EventArgs e)
    {
        try
        {
            string fileName;
            SaveImage(out fileName);
            var context = new ScentaurusEntities2();

            var obj = new Product();

            obj.ProductName    = txtProductName.Text;
            obj.FinalSalePrice = decimal.Parse(txtCost.Text);
            obj.IsActive       = chkIsActive.Checked;
            obj.ImagePath      = fileName;
            obj.CreatedBy      = Utils.GetUserName();
            obj.CreatedOn      = DateTime.Now;
            context.Products.Add(obj);

            if (context.SaveChanges() > 0)
            {
                hdnProductID.Value    = context.Products.OrderByDescending(x => x.ID).FirstOrDefault().ID.ToString();
                divlevels.Visible     = true;
                pnlAddProduct.Visible = false;

                lblLevel.Text = (rptLevels.Items.Count + 1).ToString();
                Utils.ShowAlert(this, "Success", "Product added successfully. Please add levels to continue.", true);
            }
            else
            {
                Utils.ShowAlert(this, "Error", "Unable to add product at this time", false);
            }
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#24
0
    protected void rpPages_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        try
        {
            // if (e.Item.ItemType == ListItemType.Item)
            {
                ScentaurusEntities2 entity   = MyDBContext;
                CheckBoxList        cblPages = e.Item.FindControl("cblPages") as CheckBoxList;
                HiddenField         hdnID    = e.Item.FindControl("hdnID") as HiddenField;

                int id = int.Parse(hdnID.Value);

                List <Context.Page> child = entity.Pages.Where(x => x.ParentID == id).ToList();
                cblPages.DataSource     = child;
                cblPages.DataTextField  = "Title";
                cblPages.DataValueField = "ID";
                cblPages.DataBind();
            }
        }
        catch (Exception ex)
        {
            Utils.ShowAlert(this, "Error", ex.Message, false);
        }
    }
示例#25
0
    protected void btnSave_Click(object sender, EventArgs e)
    {
        try
        {
            Page.Validate();

            if (Page.IsValid == false)
            {
                return;
            }

            ScentaurusEntities2 entity = MyDBContext;
            string userName            = txtUserName.Text;
            string password            = txtPassword.Text.Trim();
            string firstName           = txtFirstName.Text;
            string lastName            = txtLastName.Text;
            int    userType            = int.Parse(ddl_Type.SelectedValue);
            //int camp = int.Parse((Master.FindControl("ddlCampus") as DropDownList).SelectedValue);
            // int camp = Utils.GetCampusIDForAddition();
            DataTable dtUsers  = new DataTable();
            DataTable dtFilter = new DataTable();

            List <UserDetail> userData = entity.UserDetails.Where(x => x.Username.ToLower().Trim() == userName.ToLower().Trim()).ToList();

            if (hdnMode.Value == "Add")
            {
                if (userData.Count > 0)
                {
                    UserDetail obj = new UserDetail
                    {
                        Username = txtUserName.Text.Trim(),
                        Password = txtPassword.Text,
                        //   obj.Role = ddl_Type.SelectedItem.Text;
                        FirstName = txtFirstName.Text,
                        LastName  = txtLastName.Text,
                        IsActive  = true,
                        // obj.CampusID = camp;
                        CreatedBy = Utils.GetUserName(),
                        CreatedOn = DateTime.Now
                    };

                    entity.UserDetails.Add(obj);

                    if (entity.SaveChanges() > 0)
                    {
                        int userID = entity.UserDetails.OrderByDescending(x => x.ID).FirstOrDefault().ID;

                        foreach (RepeaterItem ri in rpPages.Items)
                        {
                            // chkParentPage hdnID cblPages
                            HiddenField  hdnID         = ri.FindControl("hdnID") as HiddenField;
                            CheckBox     chkParentPage = ri.FindControl("chkParentPage") as CheckBox;
                            CheckBoxList cblPages      = ri.FindControl("cblPages") as CheckBoxList;

                            if (chkParentPage.Checked)
                            {
                                UserPage up = new UserPage
                                {
                                    PageID    = int.Parse(hdnID.Value),
                                    UserID    = userID,
                                    IsAllowed = true
                                };
                                entity.UserPages.Add(up);
                                entity.SaveChanges();

                                foreach (ListItem item in cblPages.Items)
                                {
                                    if (item.Selected)
                                    {
                                        UserPage upc = new UserPage
                                        {
                                            PageID    = int.Parse(item.Value),
                                            UserID    = userID,
                                            IsAllowed = true
                                        };
                                        entity.UserPages.Add(upc);
                                        entity.SaveChanges();
                                    }
                                }
                            }
                        }


                        Utils.ShowAlert(this, "User Added successfully.");
                        btnCancel_Click(null, null);
                    }
                }
                else
                {
                    Utils.ShowAlert(this, "Error", "Username already exist.", false);
                }
            }

            else
            {
                UserDetail obj = entity.UserDetails.Where(x => x.Username.ToLower().Trim() == hdnUserName.Value.ToLower().Trim()).FirstOrDefault();

                //obj.Username = txtUserName.Text.Trim();
                obj.Password = txtPassword.Text;
                //obj.Role = ddl_Type.SelectedItem.Text;
                obj.FirstName = txtFirstName.Text;
                obj.LastName  = txtLastName.Text;
                // obj.IsActive = true;
                //obj.CampusID = camp;
                //obj.CreatedBy = Utils.GetUserName();
                //obj.CreatedTimeStamp = DateTime.Now.ToString();

                ///entity.Users.Add(obj);
                entity.SaveChanges();
                //if (entity.SaveChanges() > 0)
                {
                    List <UserPage> upl    = entity.UserPages.Where(x => x.UserID == obj.ID).ToList();
                    int             userID = obj.ID;

                    foreach (UserPage i in upl)
                    {
                        entity.UserPages.Remove(i);
                    }


                    foreach (RepeaterItem ri in rpPages.Items)
                    {
                        // chkParentPage hdnID cblPages
                        HiddenField  hdnID         = ri.FindControl("hdnID") as HiddenField;
                        CheckBox     chkParentPage = ri.FindControl("chkParentPage") as CheckBox;
                        CheckBoxList cblPages      = ri.FindControl("cblPages") as CheckBoxList;

                        if (chkParentPage.Checked)
                        {
                            UserPage up = new UserPage
                            {
                                PageID    = int.Parse(hdnID.Value),
                                UserID    = userID,
                                IsAllowed = true
                            };
                            entity.UserPages.Add(up);
                            entity.SaveChanges();

                            foreach (ListItem item in cblPages.Items)
                            {
                                if (item.Selected)
                                {
                                    UserPage upc = new UserPage
                                    {
                                        PageID    = int.Parse(item.Value),
                                        UserID    = userID,
                                        IsAllowed = true
                                    };
                                    entity.UserPages.Add(upc);
                                    entity.SaveChanges();
                                }
                            }
                        }
                    }

                    Utils.ShowAlert(this, "User updated successfully.");
                    btnCancel_Click(null, null);
                    FillGrid();
                }
            }
        }
        catch (Exception)
        {
            DisplayMessage(@"Error while saving information.");
        }
    }
示例#26
0
    private void ApproveProductRequest(int ID)
    {
        ScentaurusEntities2 context = MyDBContext;

        UserRequest userRequest = context.UserRequests.FirstOrDefault(x => x.ID == ID);

        if (userRequest != null && userRequest.ProductID != null)
        {
            int?        productID = userRequest.ProductID;
            UserDetail  objUser   = context.UserDetails.Where(x => x.Username.ToLower() == userRequest.UserDetail.Username.ToLower()).OrderByDescending(x => x.ID).FirstOrDefault();
            int         userID    = userRequest.RequestByUserID;
            UserDetail  refer     = context.UserDetails.Where(x => x.ID == objUser.ReferrerID).ToList().FirstOrDefault();
            UserProduct up        = new UserProduct();

            userID       = objUser.ID;
            up.Quantity  = userRequest.Quantity;
            up.UserID    = objUser.ID;
            up.ProductID = productID;
            up.IsActive  = true;
            up.CreatedBy = Utils.GetUserName();
            up.CreatedOn = DateTime.Now;

            context.UserProducts.Add(up);
            context.SaveChanges();

            Product product = context.Products.Where(x => x.ID == productID).FirstOrDefault();

            if (product != null)
            {
                List <ProductLevel> productNth = context.ProductLevels.Where(x => x.ProductID == product.ID).OrderBy(x => x.LevelNumber).ToList();

                foreach (ProductLevel p in productNth)
                {
                    UserNthLevel userNth = new UserNthLevel
                    {
                        IsActive    = true,
                        LevelNumber = p.LevelNumber,
                        Percentage  = p.Percentage,
                        CreatedBy   = Utils.GetUserName(),
                        TimeStamp   = DateTime.Now,
                        UserID      = objUser.ID
                    };
                    context.UserNthLevels.Add(userNth);
                }

                context.SaveChanges();

                UserNthLevel firstLevel = context.UserNthLevels.Where(x => x.UserID == objUser.ID && x.LevelNumber == 1).FirstOrDefault();

                if (firstLevel != null)
                {
                    decimal? totalPrice      = product.FinalSalePrice * userRequest.Quantity;
                    decimal? comissionAmount = firstLevel.Percentage * (totalPrice / 100);
                    UserSale us = new UserSale
                    {
                        // count++;
                        UserID              = refer.ID,
                        ReferredUserID      = objUser.ID,
                        Quantity            = userRequest.Quantity,
                        ProductPrice        = product.FinalSalePrice,
                        SaleProductID       = product.ID,
                        ComissionPercentage = firstLevel.Percentage,
                        ComissionAmount     = comissionAmount,
                        TotalPrice          = product.FinalSalePrice * userRequest.Quantity,
                        IsActive            = true,
                        AddedOn             = DateTime.Now,
                        SalesNo             = DateTime.Now.ToString("yyyyMMddhhmmss")// + "-" + count.ToString();
                    };

                    context.UserSales.Add(us);
                    context.SaveChanges();

                    UserSale userSale = context.UserSales.OrderByDescending(x => x.ID).FirstOrDefault();
                    SalesComissionNthLevel nthLevel = new SalesComissionNthLevel
                    {
                        IsActive            = true,
                        IsCheckOut          = false,
                        UserSaleID          = userSale.ID,
                        BeneficierUserID    = refer.ID,
                        AddedOn             = DateTime.Now,
                        ComissionAmount     = comissionAmount,
                        ComissionPercentage = firstLevel.Percentage
                    };
                    context.SalesComissionNthLevels.Add(nthLevel);
                    context.SaveChanges();

                    int referenceID = context.SalesComissionNthLevels.OrderByDescending(x => x.ID).FirstOrDefault().ID;
                    Utils.AddEntryInCustomerLedger(refer.ID, comissionAmount.Value, referenceID, Utils.AdjustmentType.DebitAdjustment, string.Empty);

                    List <UserDetail> admins = context.UserDetails.Where(x => x.IsActive && x.UserType.ToLower().Contains("admin")).ToList();

                    foreach (UserDetail admin in admins)
                    {
                        SalesComissionNthLevel adminComm = new SalesComissionNthLevel();

                        decimal?refCommAmount = (admin.PercentageOfSale.HasValue ? admin.PercentageOfSale.Value : 0) * (totalPrice / 100);
                        adminComm.IsActive            = true;
                        adminComm.IsCheckOut          = false;
                        adminComm.UserSaleID          = userSale.ID;
                        adminComm.BeneficierUserID    = admin.ID;
                        adminComm.AddedOn             = DateTime.Now;
                        adminComm.ComissionAmount     = refCommAmount;
                        adminComm.ComissionPercentage = admin.PercentageOfSale;
                        context.SalesComissionNthLevels.Add(adminComm);
                        context.SaveChanges();

                        int adminReferenceID = context.SalesComissionNthLevels.OrderByDescending(x => x.ID).FirstOrDefault().ID;
                        Utils.AddEntryInCustomerLedger(admin.ID, refCommAmount.Value, adminReferenceID, Utils.AdjustmentType.DebitAdjustment, string.Empty);
                    }



                    if (refer.ReferrerID.HasValue)
                    {
                        int lastReffererID = refer.ReferrerID.Value;
                        int index          = 2;

                        do
                        {
                            UserDetail referrer = context.UserDetails.Where(x => x.ID == lastReffererID && x.IsActive).FirstOrDefault();

                            if (referrer != null)
                            {
                                UserNthLevel referrerNthLevel = context.UserNthLevels.Where(x => x.UserID == objUser.ID && x.LevelNumber == index).FirstOrDefault();

                                if (referrerNthLevel != null)
                                {
                                    SalesComissionNthLevel referrerComm = new SalesComissionNthLevel();

                                    decimal?refCommAmount = referrerNthLevel.Percentage * (totalPrice / 100);
                                    referrerComm.IsActive            = true;
                                    referrerComm.IsCheckOut          = false;
                                    referrerComm.UserSaleID          = userSale.ID;
                                    referrerComm.BeneficierUserID    = referrer.ID;
                                    referrerComm.AddedOn             = DateTime.Now;
                                    referrerComm.ComissionAmount     = refCommAmount;
                                    referrerComm.ComissionPercentage = referrerNthLevel.Percentage;
                                    context.SalesComissionNthLevels.Add(referrerComm);
                                    context.SaveChanges();

                                    int scReferenceID = context.SalesComissionNthLevels.OrderByDescending(x => x.ID).FirstOrDefault().ID;
                                    Utils.AddEntryInCustomerLedger(referrer.ID, refCommAmount.Value, scReferenceID, Utils.AdjustmentType.DebitAdjustment, string.Empty);
                                }

                                lastReffererID = referrer.ReferrerID.HasValue ? referrer.ReferrerID.Value : 0;

                                if (!referrer.ReferrerID.HasValue)
                                {
                                    break;
                                }
                            }

                            index++;
                        }while (index < 15);
                    }
                }

                context.SaveChanges();
            }
        }
    }