public ActionResult Index() { MyIdentityDbContext db = new MyIdentityDbContext(); UserStore <MyIdentityUser> userStore = new UserStore <MyIdentityUser>(db); UserManager <MyIdentityUser> userManager = new UserManager <MyIdentityUser>(userStore); MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name); //MoencoPOSContext northwindDb = new MoencoPOSContext(); //List<AspNetUsers> model = null; //if (userManager.IsInRole(user.Id, "Administrator")) //{ // model = northwindDb.Customers.ToList(); //} //if (userManager.IsInRole(user.Id, "Operator")) //{ // model = northwindDb.Customers.Where(c => c.Country == "USA").ToList(); //} var salesInvoices = new List <SalesInvoice>(); if (user.Role == "Administrator") { salesInvoices = _salesInvoiceService.Get(t => t.Status == "Paid", null, "SalesLineItems").OrderByDescending(o => o.DateSold).ToList(); } else { salesInvoices = _salesInvoiceService.Get(t => t.BranchId == user.BranchId && t.Status == "Paid", null, "SalesLineItems").OrderByDescending(o => o.DateSold).ToList(); } var salesLineItems = new List <SalesLineItem>(); foreach (var salesInvoice in salesInvoices) { foreach (var sLI in salesInvoice.SalesLineItems) { salesLineItems.Add(sLI); } } var groupedSLIs = (from tr in salesLineItems group tr by new { tr.ProductId } into groupedSLI select new { ProductID = groupedSLI.Key.ProductId, ProductName = _productService.FindById(groupedSLI.Key.ProductId).ProductName, UnitPrice = _productService.FindById(groupedSLI.Key.ProductId).UnitPrice, QuantitySold = groupedSLI.Sum(p => p.Quantity) }); List <SalesReportViewModel> salesReportViewModels = (from groupedSLI in groupedSLIs let i = groupedSLI where i != null where i != null select new SalesReportViewModel() { ProductId = i.ProductID, ProductName = i.ProductName, QuantitySold = i.QuantitySold, UnitPrice = i.UnitPrice }).ToList(); ViewBag.GroupedSLIs = salesReportViewModels.Take(10); var allSalesInvoices = _salesInvoiceService.Get(t => t.Status == "Returned", null, "SalesLineItems").OrderByDescending(o => o.DateSold).ToList(); var salesInvoiceViewModels = new List <SalesInvoiceViewModel>(); foreach (var salesInvoice in allSalesInvoices) { var salesInvoiceViewModel = new SalesInvoiceViewModel() { BranchId = salesInvoice.BranchId, CustomerId = salesInvoice.CustomerId, CustomerName = salesInvoice.Customer.FirstName + " " + salesInvoice.Customer.LastName, BranchName = salesInvoice.Branch.BranchName, DateSold = salesInvoice.DateSold, ReferenceNo = salesInvoice.ReferenceNo, SalesInvoiceId = salesInvoice.SalesInvoiceId, SalesType = salesInvoice.SalesType, UserId = salesInvoice.UserId, UserName = userManager.FindById(salesInvoice.UserId).FullName, Status = salesInvoice.Status }; salesInvoiceViewModels.Add(salesInvoiceViewModel); } ViewBag.ReturnedSales = salesInvoiceViewModels.Take(10); var productReceives = _productReceiveService.GetAllProductReceive(); var productReceivesViewModels = new List <ProductReceiveViewModel>(); foreach (var productReceive in productReceives) { var productReceiveViewModel = new ProductReceiveViewModel() { BranchId = productReceive.BranchId, BranchName = productReceive.Branch.BranchName, DateReceived = productReceive.DateReceived, ProductReceiveId = productReceive.ProductReceiveId, UserId = productReceive.UserId, UserName = userManager.FindById(productReceive.UserId).FullName }; productReceivesViewModels.Add(productReceiveViewModel); } ViewBag.ReceivedStock = salesInvoiceViewModels.Take(10); var productTransfers = _productTransferService.GetAllProductTransfer(); var producttransferViewModels = new List <ProductTransferViewModel>(); foreach (var productTransfer in productTransfers) { var productTransferViewModel = new ProductTransferViewModel() { FromBranchId = productTransfer.FromBranchId, ToBranchId = productTransfer.ToBranchId, ProductTransferId = productTransfer.ProductTransferId, DateTransfered = productTransfer.DateTransfered, UserId = productTransfer.UserId, UserName = userManager.FindById(productTransfer.UserId).FullName }; productTransferViewModel.FromBranchName = _branchService.FindById(productTransferViewModel.FromBranchId).BranchName; productTransferViewModel.ToBranchName = _branchService.FindById(productTransferViewModel.ToBranchId).BranchName; producttransferViewModels.Add(productTransferViewModel); } ViewBag.TransferredStock = salesInvoiceViewModels.Take(10); if (user != null) { ViewBag.FullName = user.FullName; } else { ViewBag.FullName = "Admin"; } //return View(model); return(View()); }
// GET: SalesInvoices/Create public ActionResult Create(int?id, int?salesType) { MyIdentityDbContext db = new MyIdentityDbContext(); UserStore <MyIdentityUser> userStore = new UserStore <MyIdentityUser>(db); UserManager <MyIdentityUser> userManager = new UserManager <MyIdentityUser>(userStore); MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name); if (id != null && id != 0) { var salesInvoice = _salesInvoiceService.Get(t => t.SalesInvoiceId == id, null, "SalesLineItems").FirstOrDefault(); var salesInvoiceViewModel = new SalesInvoiceViewModel() { BranchId = salesInvoice.BranchId, CustomerId = salesInvoice.CustomerId, CustomerName = salesInvoice.Customer.FirstName + " " + salesInvoice.Customer.LastName, BranchName = salesInvoice.Branch.BranchName, DateSold = salesInvoice.DateSold, ReferenceNo = salesInvoice.ReferenceNo, SalesInvoiceId = salesInvoice.SalesInvoiceId, SalesType = salesInvoice.SalesType, UserId = salesInvoice.UserId, UserName = userManager.FindById(salesInvoice.UserId).FullName, Status = salesInvoice.Status }; ViewBag.UserName = user.FullName; ViewBag.BranchName = _branchService.FindById(user.BranchId).BranchName; ViewBag.CustomerList = new SelectList(_customerService.GetAllCustomers(), "CustomerId", "FirstName", salesInvoice.CustomerId); ViewBag.BranchList = new SelectList(_branchService.GetAllBranches(), "BranchId", "BranchName", salesInvoice.BranchId); ViewBag.SalesInvoiceId = salesInvoice.SalesInvoiceId; var salesLineItemviewModels = new List <SalesInvoiceLineItemViewModel>(); foreach (var salesLineItem in salesInvoice.SalesLineItems) { var salesLineItemviewModel = new SalesInvoiceLineItemViewModel() { SalesLineItemId = salesLineItem.SalesLineItemId, ProductId = salesLineItem.ProductId, Productname = _productService.FindBy(s => s.ProductcId == salesLineItem.ProductId).First().ProductName, Quantity = salesLineItem.Quantity, UnitPrice = salesLineItem.UnitPrice }; salesLineItemviewModels.Add(salesLineItemviewModel); } ViewData["CustomerList"] = new SelectList(_customerService.GetAllCustomers(), "CustomerId", "FirstName", salesInvoice.CustomerId); ViewData["ProductList"] = new SelectList(_productService.GetAllProducts(), "ProductcId", "ProductName", salesInvoice.CustomerId); ViewBag.SalesLineItemViewModels = salesLineItemviewModels; ViewBag.UserName = user.FullName; ViewBag.BranchName = _branchService.FindById(user.BranchId).BranchName; ViewBag.SalesType = salesInvoice.SalesType; return(View(salesInvoiceViewModel)); } ViewBag.UserName = user.FullName; ViewBag.BranchName = _branchService.FindById(user.BranchId).BranchName; if (salesType == 0) { ViewBag.CustomerList = new SelectList(_customerService.Get(t => t.Trusted).ToList(), "CustomerId", "FirstName"); } else { ViewBag.CustomerList = new SelectList(_customerService.GetAllCustomers(), "CustomerId", "FirstName"); } ViewBag.SalesType = salesType; ViewBag.BranchList = new SelectList(_branchService.GetAllBranches(), "BranchId", "BranchName"); return(View()); }
public IList <SalesInvoice> Get() { return(_salesInvoiceService.Get()); }