//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); //} }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }
//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."); } }
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); } }
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"); } } } }
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; } } }
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); }
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(); }
private void LoadGrid() { ScentaurusEntities2 entity = MyDBContext; List <UserDetail> data = entity.UserDetails.OrderByDescending(x => x.ID).ToList(); gvw_Search.DataSource = data; gvw_Search.DataBind(); }
/// <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."); } }
/// <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."); } }
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(); }
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); } }
/// <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."); } }
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); } }
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; }
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) { } }
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); } }
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); } }
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."); } }
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(); } } }