public static String GetNewDisbId(LogicDB context) { var disbursement = context.Disbursement.OrderByDescending(x => x.DisbursementId).First(); string did = "DISB" + (Convert.ToInt32(disbursement.DisbursementId.Substring(4, 6)) + 1).ToString("000000"); return(did); }
public static GenerateReportViewModel InitGRVM(string DID) { var grvm = new GenerateReportViewModel { fDate = new DateTime(2017, 1, 1), tDate = DateTime.Today, module = "Disbursements", deptID = DID, statcategory = new List <string>(), entcategory = new List <string>(), employee = new List <string>(), supplier = new List <string>(), selectentcategory = new List <string>(), selectstatcategory = new List <string>(), data = new List <ChartViewModel>(), entdata = new List <ChartViewModel>(), stattimeDP = new ChartViewModel("Breakdown by Stationery over Time", "", new List <StringDoubleDPViewModel>()), enttimeDP = new ChartViewModel("Breakdown by Entity over Time", "", new List <StringDoubleDPViewModel>()), statDP = new ChartViewModel("Breakdown by Stationery Category", "", new List <StringDoubleDPViewModel>()), deptDP = new ChartViewModel("Breakdown by Entity", "", new List <StringDoubleDPViewModel>()) }; LogicDB context = new LogicDB(); var slist = context.Stationery.GroupBy(x => x.Category).Select(y => y.Key); foreach (var l in slist) { grvm.statcategory.Add(l); } grvm.selectstatcategory = grvm.statcategory; if (DID == "STAT") { var sslist = context.PurchaseOrder.GroupBy(x => x.SupplierId).Select(y => y.Key); foreach (var l in sslist) { grvm.supplier.Add(l); } var eelist = context.StationeryRetrieval.GroupBy(x => x.AspNetUsers.EmployeeName).Select(y => y.Key); foreach (var l in eelist) { grvm.employee.Add(l); } var elist = context.Department.GroupBy(x => x.DepartmentId).Select(y => y.Key); foreach (var l in elist) { grvm.entcategory.Add(l); } grvm.selectentcategory = grvm.entcategory; } else { grvm.entcategory.Add(DID); grvm.selectentcategory.Add(DID); } return(grvm); }
public static string GetNewDisbNo(LogicDB context, string DepartmentId) { var disbursement = context.Disbursement.OrderByDescending(x => x.DisbursementId).First(); string dno = "D" + DepartmentId + (Convert.ToInt32(disbursement.DisbursementNo.Substring(5, 5)) + 1).ToString("00000"); return(dno); }
public IEnumerable <DepartmentChargeBackViewModel> GetDepartmentChargeBackViewModels(string userId) { LogicDB context = new LogicDB(); String DID = context.Department. Where(x => x.DepartmentHeadId == userId). First().DepartmentId; var chargeback = context.Disbursement. Where(x => x.DepartmentId == DID).ToList(). Select(x => new DepartmentChargeBackViewModel() { DisbursementId = x.DisbursementId, DisbursementNo = x.DisbursementNo, DepartmentId = x.DepartmentId, Department = x.Department, AcknowledgedBy = context.AspNetUsers.Where(y => y.Id == x.AcknowledgedBy).First().EmployeeName, DisbursedBy = x.DisbursedBy, Date = x.Date, RequestId = x.RequestId, StationeryRequest = x.StationeryRequest, OTP = x.OTP, Status = x.Status, AspNetUsers = x.AspNetUsers, AspNetUsers1 = x.AspNetUsers1, TransactionDetail = x.TransactionDetail }); return(chargeback); }
public void SendEmail() { LogicDB context = new LogicDB(); // to get the user ID of the current user string userId = User.Identity.GetUserId(); string sender = context.AspNetUsers.FirstOrDefault(x => x.Id == userId).EmployeeName; string receipient = "*****@*****.**"; string subject = "New Pending PO"; string content = String.Format("Dear {0},{1}You have new Purchase Orders pending for approval.{2}{3} Regards,{4}{5}", "Manager", Environment.NewLine, Environment.NewLine, Environment.NewLine, Environment.NewLine, sender); Email.Send(receipient, subject, content); }
//Convert breakdown of stationery by items to breakdown of stationery by dept public List <DisbursementByDeptViewModel> GenerateDisbursement(List <RequestByItemViewModel> model) { LogicDB context = new LogicDB(); List <DisbursementByDeptViewModel> disbList = new List <DisbursementByDeptViewModel>(); for (int i = 0; i < model.Count; i++) { for (int j = 0; j < model[i].requestList.Count; j++) { var disb = disbList.Find(x => x.DepartmentId == model[i].requestList[j].DepartmentId); if (disb != null) { var item = disb.requestList.Find(x => x.ItemId == model[i].ItemId); if (item != null) { item.Quantity += model[i].requestList[j].Quantity; } else { if (model[i].requestList[j].RetrievedQty > 0) { BreakdownByItemViewModel breakdown = new BreakdownByItemViewModel(); breakdown.ItemId = model[i].ItemId; breakdown.Description = model[i].Description; breakdown.RetrievedQty = model[i].requestList[j].RetrievedQty; disb.requestList.Add(breakdown); } } } else { if (model[i].requestList[j].RetrievedQty > 0) { DisbursementByDeptViewModel disbModel = new DisbursementByDeptViewModel(); disbModel.DepartmentId = model[i].requestList[j].DepartmentId; disbModel.DepartmentName = model[i].requestList[j].DepartmentName; BreakdownByItemViewModel breakdown = new BreakdownByItemViewModel(); breakdown.RetrievedQty = model[i].requestList[j].RetrievedQty; breakdown.ItemId = model[i].ItemId; breakdown.Description = model[i].Description; disbModel.requestList = new List <BreakdownByItemViewModel>(); disbModel.requestList.Add(breakdown); disbList.Add(disbModel); } } } } return(disbList); }
public string[] GetDelegatedHead(string userId) { DateTime todayDate = DateTime.Now.Date; LogicDB context = new LogicDB(); var query = context.DelegationOfAuthority.Where(x => x.EndDate >= todayDate && x.DelegatedBy == userId).Where(x => x.Status != "VOID").FirstOrDefault(); if (query == null) { return(null); } else { return(new string[] { query.AspNetUsers1.Id, query.AspNetUsers1.EmployeeName, query.StartDate.ToShortDateString(), query.EndDate.ToShortDateString() }); } }
public string GetNewRetrievalId() { LogicDB context = new LogicDB(); string rid; var ret = context.StationeryRetrieval.OrderByDescending(x => x.Date).OrderByDescending(x => x.RetrievalId).FirstOrDefault(); if (ret.Date.Year == DateTime.Now.Year) { rid = "R" + DateTime.Now.Year.ToString() + "-" + (Convert.ToInt32(ret.RetrievalId.Substring(6, 4)) + 1).ToString("0000"); } else { rid = "R" + DateTime.Now.Year.ToString() + "-" + "0001"; } return(rid); }
// Format : PO18/02/## private static string GetSerialNumber() { LogicDB context1 = new LogicDB(); var lastPoNo = context1.PurchaseOrder.OrderByDescending(x => x.PONo).FirstOrDefault(); string current = lastPoNo.PONo.Substring(8); int month = Int32.Parse(lastPoNo.PONo.Substring(5, 2)); int newSerial = Int32.Parse(current); int currentmonth = Int32.Parse(DateTime.Now.Month.ToString("00")); if (currentmonth != month) { return("01"); } else { return((newSerial + 1).ToString("00")); } }
// GET: ManageRequest public ActionResult Index() { List <RequestedItemViewModel> models = new List <RequestedItemViewModel>(); ViewBag.ShowItems = false; LogicDB context = new LogicDB(); string userId = User.Identity.GetUserId(); string depId = context.AspNetUsers.FirstOrDefault(x => x.Id == userId).DepartmentId; List <StationeryRequest> requests = context.StationeryRequest.Where(x => x.Status == "Pending Approval" && x.DepartmentId == depId).ToList(); if (requests.Count > 0) { ViewBag.ShowItems = true; foreach (var c in requests) { RequestedItemViewModel reqItem = new RequestedItemViewModel(); reqItem.RequestDate = String.Format("{0:dd/MM/yyyy}", c.RequestDate); AspNetUsers emp = context.AspNetUsers.FirstOrDefault(x => x.Id == c.RequestedBy); reqItem.Empname = emp.EmployeeName; var requestId = c.RequestId; reqItem.RequestID = c.RequestId; List <TransactionDetail> transactionDetails = context.TransactionDetail.Where(x => x.TransactionRef == requestId).ToList(); List <Stationery> items = new List <Stationery>(); foreach (var i in transactionDetails) { Stationery item = context.Stationery.FirstOrDefault(x => x.ItemId == i.ItemId); item.QuantityTransit = i.Quantity; items.Add(item); } reqItem.Itemlist = items; models.Add(reqItem); } } return(View(models)); }
public ActionResult Index(int id = 0) { LogicDB context = new LogicDB(); CollectionPointViewModel model = new CollectionPointViewModel(); string userId = User.Identity.GetUserId(); int cpId = disbursementService.GetDeptCpId(userId); string cpName = disbursementService.GetDeptCpName(userId); ViewBag.cpId = cpId; ViewBag.cpName = cpName; if (id == 1) { ViewBag.successHandler = 1; } else if (id == 2) { ViewBag.successHandler = 2; } return(View(model)); }
public ActionResult ManageRep(ManageRepViewModel model) { ApplicationUserManager manager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); ApplicationDbContext context = new ApplicationDbContext(); LogicDB database = new LogicDB(); //Retrieve department head string depHeadId = User.Identity.GetUserId(); string deptId = gmService.GetDeptIdOfUser(depHeadId); //Get previous employee rep string oldEmpRepId = gmService.GetCurrentRepId(deptId); //Update to new employee rep gmService.UpdateDepartmentRep(model.UserId, deptId); //Change previous Department Rep to employee manager.RemoveFromRole(oldEmpRepId, "Department Representative"); manager.AddToRole(oldEmpRepId, "Employee"); //Assign new employee to Department Rep manager.RemoveFromRole(model.UserId, "Employee"); manager.AddToRole(model.UserId, "Department Representative"); return(RedirectToAction("Index", new { id = 1 })); }
public RaiseRequestController() { _context = new LogicDB(); }
public bool SaveAndDisburse(List <RequestByItemViewModel> model, string userId) { LogicDB context = new LogicDB(); using (var dbContextTransaction = context.Database.BeginTransaction()) { try { StationeryRetrieval retrieval = new StationeryRetrieval(); string rid = GetNewRetrievalId(); retrieval.RetrievalId = rid; retrieval.RetrievedBy = userId; retrieval.Date = DateTime.Now; foreach (var sr in model) { int retQty = sr.requestList.Sum(x => x.RetrievedQty); if (retQty > 0) { TransactionDetail detail = new TransactionDetail(); detail.ItemId = sr.ItemId; detail.Quantity = retQty; detail.TransactionDate = DateTime.Now; detail.Remarks = "Retrieved"; detail.TransactionRef = rid; retrieval.TransactionDetail.Add(detail); //Less off from stationery var item = context.Stationery.FirstOrDefault(x => x.ItemId == sr.ItemId); if (item != null) { item.QuantityWarehouse -= retQty; item.QuantityTransit += retQty; } } } context.StationeryRetrieval.Add(retrieval); context.SaveChanges(); List <RequestByIdViewModel> requests = CreateDisbHelpers.GetRequestQuery(context).OrderBy(x => x.RequestId).ToList(); List <DisbursementByDeptViewModel> disbList = GenerateDisbursement(model); foreach (var dept in disbList) { string currentDeptId = dept.DepartmentId; string disbNo = CreateDisbHelpers.GetNewDisbNo(context, currentDeptId); string OTP; do { Random rand = new Random(); OTP = rand.Next(10000).ToString("0000"); } while (context.Disbursement.Where(x => x.OTP == OTP).FirstOrDefault() != null); Dictionary <string, int> tempDict = new Dictionary <string, int>(); foreach (var retItem in dept.requestList) { tempDict.Add(retItem.Description, retItem.RetrievedQty); } var deptReqList = requests.Where(x => x.DepartmentId == dept.DepartmentId).ToList(); foreach (var req in deptReqList) { bool isComplete = true; foreach (var item in req.ItemList) { var disbItem = dept.requestList.FirstOrDefault(x => x.ItemId == item.ItemId); if (disbItem != null) { if (disbItem.RetrievedQty >= item.Quantity) { disbItem.RetrievedQty -= item.Quantity; } else { item.Quantity = disbItem.RetrievedQty; disbItem.RetrievedQty = 0; //0 isComplete = false; } } else { item.Quantity = 0; isComplete = false; } } foreach (var item in req.ItemList) { if (item.Quantity > 0) { Disbursement newDisb = new Disbursement(); TransactionDetail newDetail = new TransactionDetail(); newDisb.DisbursementId = CreateDisbHelpers.GetNewDisbId(context); newDisb.DisbursementNo = disbNo; newDisb.DepartmentId = currentDeptId; newDisb.DisbursedBy = userId; newDisb.Date = DateTime.Now; newDisb.RequestId = req.RequestId; newDisb.Status = "In Transit"; newDisb.OTP = OTP; newDetail.ItemId = item.ItemId; newDetail.Quantity = item.Quantity; newDetail.TransactionRef = newDisb.DisbursementId; newDetail.TransactionDate = DateTime.Now; newDetail.UnitPrice = item.UnitPrice; newDetail.Remarks = "In Transit"; newDisb.TransactionDetail.Add(newDetail); context.Disbursement.Add(newDisb); context.SaveChanges(); } } var currentReq = context.StationeryRequest.FirstOrDefault(x => x.RequestId == req.RequestId); if (isComplete) { currentReq.Status = "Completed"; } else { currentReq.Status = "Partially Fulfilled"; } } //Send email to dept rep string email = context.Department.FirstOrDefault(x => x.DepartmentId == dept.DepartmentId).AspNetUsers1.Email; string subject = string.Format("Stationeries ready for collection (Disbursement No: {0})", disbNo); string content = string.Format("Disbursement No: {0}{1}Please quote the OTP below when collecting your stationeries.{2}OTP: {3}{4}Collection Point: {5}{6}Time: {7}{8}Item\t\t\t\t\t\t\tQuantity{9}", disbNo, Environment.NewLine, Environment.NewLine, OTP, Environment.NewLine, dept.CollectionDescription, Environment.NewLine, dept.CollectionTime, Environment.NewLine, Environment.NewLine); foreach (KeyValuePair <string, int> entry in tempDict) { content += string.Format("{0}\t\t\t\t\t\t{1}{2}", entry.Key, entry.Value, Environment.NewLine); } Email.Send(email, subject, content); } dbContextTransaction.Commit(); return(true); } catch (Exception) { dbContextTransaction.Rollback(); return(false); } } }
public ReturnToWarehouseController() { _context = new LogicDB(); }
public ManageStationeryController() { _context = new LogicDB(); }
public DelegateHeadController() { _context = new LogicDB(); }
public ManageRequestController() { _context = new LogicDB(); }
public InvoiceController() { _context = new LogicDB(); }
public ValidateInvoiceController() { _context = new LogicDB(); }
public ManagePostponeCollectionDateDepartmentController() { _context = new LogicDB(); }
public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, change to shouldLockout: true var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false); switch (result) { case SignInStatus.Success: //Check doa for list of acting department heads LogicDB context = new LogicDB(); var todayDate = DateTime.Now.Date; ApplicationDbContext appDb = new ApplicationDbContext(); UserManager <ApplicationUser> _userManager = HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); //check doa for list of invalid acting department heads var doaExpList = context.DelegationOfAuthority.Where(x => x.StartDate > todayDate || x.EndDate < todayDate || x.Status == "VOID").ToList(); foreach (var doaExp in doaExpList) { if (_userManager.IsInRole(doaExp.DelegatedTo, "Acting Department Head")) { using (var dbContextTransaction = appDb.Database.BeginTransaction()) { try { _userManager.AddToRole(doaExp.DelegatedTo, "Employee"); _userManager.RemoveFromRole(doaExp.DelegatedTo, "Acting Department Head"); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } else { continue; } } //Valid list of doa var doaList = context.DelegationOfAuthority.Where(x => x.StartDate <= todayDate && x.EndDate >= todayDate).Where(x => x.Status != "VOID").ToList(); foreach (var doa in doaList) { if (_userManager.IsInRole(doa.DelegatedTo, "Acting Department Head")) { continue; } else { using (var dbContextTransaction = appDb.Database.BeginTransaction()) { try { if (_userManager.IsInRole(doa.DelegatedTo, "Employee")) { _userManager.AddToRole(doa.DelegatedTo, "Acting Department Head"); _userManager.RemoveFromRole(doa.DelegatedTo, "Employee"); } dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } } return(RedirectToLocal(returnUrl)); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.RequiresVerification: return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe })); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } }
public List <RequestByItemViewModel> GetListRequestByItem() { LogicDB context = new LogicDB(); List <RequestByItemViewModel> model = new List <RequestByItemViewModel>(); var requests = context.RequestByItemView.OrderBy(x => x.ItemId).ToList(); var disbList = (from x in context.DisbByDept select new SimpleDisbViewModel { DepartmentId = x.DepartmentId, DepartmentName = x.DepartmentName, ItemId = x.ItemId, Description = x.Description, Quantity = x.Quantity }).ToList(); foreach (var req in requests) { var item = model.Find(x => x.ItemId == req.ItemId); var disb = disbList.FirstOrDefault(x => x.DepartmentId == req.DepartmentId && x.ItemId == req.ItemId); if (item != null) { BreakdownByDeptViewModel newModel; if (disb == null) { newModel = new BreakdownByDeptViewModel { DepartmentId = req.DepartmentId, DepartmentName = req.DepartmentName, Quantity = (int)req.Quantity }; } else { newModel = new BreakdownByDeptViewModel { DepartmentId = req.DepartmentId, DepartmentName = req.DepartmentName, Quantity = ((int)req.Quantity - (int)disb.Quantity) }; disb.Quantity = 0; } if (newModel.Quantity > 0) { item.requestList.Add(newModel); } } else { RequestByItemViewModel requestByItemViewModel = new RequestByItemViewModel(); requestByItemViewModel.ItemId = req.ItemId; requestByItemViewModel.Description = req.Description; requestByItemViewModel.requestList = new List <BreakdownByDeptViewModel>(); BreakdownByDeptViewModel newModel; if (disb == null) { newModel = new BreakdownByDeptViewModel { DepartmentId = req.DepartmentId, DepartmentName = req.DepartmentName, Quantity = (int)req.Quantity }; } else { newModel = new BreakdownByDeptViewModel { DepartmentId = req.DepartmentId, DepartmentName = req.DepartmentName, Quantity = ((int)req.Quantity - (int)disb.Quantity) }; disb.Quantity = 0; } if (newModel.Quantity > 0) { requestByItemViewModel.requestList.Add(newModel); model.Add(requestByItemViewModel); } } } return(model); }
public string GetUserEmail(string id) { LogicDB context = new LogicDB(); return(context.AspNetUsers.FirstOrDefault(x => x.Id == id).Email); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var userManager = context.OwinContext.GetUserManager <ApplicationUserManager>(); ApplicationUser user = await userManager.FindAsync(context.UserName, context.Password); if (user == null) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } //Check doa for list of acting department heads LogicDB dbContext = new LogicDB(); var todayDate = DateTime.Now.Date; ApplicationDbContext appDb = new ApplicationDbContext(); //check doa for list of invalid acting department heads var doaExpList = dbContext.DelegationOfAuthority.Where(x => x.StartDate > todayDate || x.EndDate < todayDate || x.Status == "VOID").ToList(); foreach (var doaExp in doaExpList) { if (userManager.IsInRole(doaExp.DelegatedTo, "Acting Department Head")) { using (var dbContextTransaction = appDb.Database.BeginTransaction()) { try { userManager.AddToRole(doaExp.DelegatedTo, "Employee"); userManager.RemoveFromRole(doaExp.DelegatedTo, "Acting Department Head"); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } else { continue; } } //Check for valid var doaList = dbContext.DelegationOfAuthority.Where(x => x.StartDate <= todayDate && x.EndDate >= todayDate).Where(x => x.Status != "VOID").ToList(); foreach (var doa in doaList) { if (userManager.IsInRole(doa.DelegatedTo, "Acting Department Head")) { continue; } else { using (var dbContextTransaction = appDb.Database.BeginTransaction()) { try { if (userManager.IsInRole(doa.DelegatedTo, "Employee")) { userManager.AddToRole(doa.DelegatedTo, "Acting Department Head"); userManager.RemoveFromRole(doa.DelegatedTo, "Employee"); } dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } } ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType); ClaimsIdentity cookiesIdentity = await user.GenerateUserIdentityAsync(userManager, CookieAuthenticationDefaults.AuthenticationType); System.Collections.Generic.IList <string> s = userManager.GetRoles(user.Id); AuthenticationProperties properties = CreateProperties(user.Id, s); AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, properties); context.Validated(ticket); context.Request.Context.Authentication.SignIn(cookiesIdentity); }
public List <DisbursementByDeptViewModel> GetListDisb() { LogicDB context = new LogicDB(); var query = (from x in context.Disbursement join y in context.TransactionDetail on x.DisbursementId equals y.TransactionRef join z in context.Department on x.DepartmentId equals z.DepartmentId join c in context.CollectionPoint on z.CollectionPointId equals c.CollectionPointId join i in context.Stationery on y.ItemId equals i.ItemId where x.Status == "In Transit" select new { x.DepartmentId, z.DepartmentName, c.CollectionPointId, c.CollectionDescription, y.ItemId, i.Description, y.Quantity }).ToList(); List <DisbursementByDeptViewModel> model = new List <DisbursementByDeptViewModel>(); foreach (var item in query) { var deptExists = model.FirstOrDefault(x => x.DepartmentId == item.DepartmentId); if (deptExists != null) { var itemExists = deptExists.requestList.FirstOrDefault(x => x.ItemId == item.ItemId); if (itemExists != null) { itemExists.Quantity += item.Quantity; } else { BreakdownByItemViewModel newItemModel = new BreakdownByItemViewModel(); newItemModel.ItemId = item.ItemId; newItemModel.Description = item.Description; newItemModel.Quantity = item.Quantity; deptExists.requestList.Add(newItemModel); } } else { DisbursementByDeptViewModel newDeptModel = new DisbursementByDeptViewModel(); newDeptModel.DepartmentId = item.DepartmentId; newDeptModel.DepartmentName = item.DepartmentName; List <BreakdownByItemViewModel> newItemList = new List <BreakdownByItemViewModel>(); BreakdownByItemViewModel newItemModel = new BreakdownByItemViewModel(); newItemModel.ItemId = item.ItemId; newItemModel.Description = item.Description; newItemModel.Quantity = item.Quantity; newItemList.Add(newItemModel); newDeptModel.requestList = newItemList; model.Add(newDeptModel); } } return(model); }
public static GenerateReportViewModel InitGRVM(string DID, DateTime?fromDateTP, DateTime?toDateTP, string module, List <string> selstatcat, List <string> seldeptcat, List <string> seleecat, List <string> selsscat) { LogicDB context = new LogicDB(); var grvm = new GenerateReportViewModel { fDate = (DateTime)fromDateTP, tDate = (DateTime)toDateTP, module = module, deptID = DID, statcategory = new List <string>(), entcategory = new List <string>(), employee = new List <string>(), supplier = new List <string>(), selectentcategory = new List <string>(), selectstatcategory = new List <string>(), data = new List <ChartViewModel>(), entdata = new List <ChartViewModel>(), stattimeDP = new ChartViewModel("Breakdown by Stationery over Time", "", new List <StringDoubleDPViewModel>()), enttimeDP = new ChartViewModel("Breakdown by Entity over Time", "", new List <StringDoubleDPViewModel>()), statDP = new ChartViewModel("Breakdown by Stationery Category", "", new List <StringDoubleDPViewModel>()), deptDP = new ChartViewModel("Breakdown by Entity", "", new List <StringDoubleDPViewModel>()) }; var slist = context.Stationery.GroupBy(x => x.Category).Select(y => y.Key); foreach (var l in slist) { grvm.statcategory.Add(l); } if (selstatcat == null) { foreach (var l in grvm.statcategory) { grvm.selectstatcategory.Add(l); } } else { foreach (var l in selstatcat) { grvm.selectstatcategory.Add(l); } } if (DID == "STAT") { var sslist = context.PurchaseOrder.GroupBy(x => x.SupplierId).Select(y => y.Key); foreach (var l in sslist) { grvm.supplier.Add(l); } var eelist = context.StationeryRetrieval.GroupBy(x => x.AspNetUsers.EmployeeName).Select(y => y.Key); foreach (var l in eelist) { grvm.employee.Add(l); } var entlist = context.Department.GroupBy(x => x.DepartmentId).Select(y => y.Key); foreach (var l in entlist) { grvm.entcategory.Add(l); } if (module == "Purchases") { if (selsscat == null) { foreach (var l in sslist) { grvm.selectentcategory.Add(l); } } else { foreach (var l in selsscat) { grvm.selectentcategory.Add(l); } } } if (module == "Retrieval") { if (seleecat == null) { foreach (var l in eelist) { grvm.selectentcategory.Add(l); } } else { foreach (var l in seleecat) { grvm.selectentcategory.Add(l); } } } else if (module == "Disbursements" || module == "ChargeBack" || module == "Requests") { if (seldeptcat == null) { foreach (var l in grvm.entcategory) { grvm.selectentcategory.Add(l); } } else { foreach (var l in seldeptcat) { grvm.selectentcategory.Add(l); } } } } else { grvm.entcategory.Add(DID); grvm.selectentcategory.Add(DID); } return(grvm); }
public ClerkController() { _context = new LogicDB(); rand = new Random(); }
public DepartmentHeadController() { _context = new LogicDB(); }
public static List <RequestByIdViewModel> GetRequestQuery(LogicDB context) { List <SimpleRequestViewModel> requests = (from x in context.RequestByReqIdView select new SimpleRequestViewModel { RequestId = x.RequestId, DepartmentId = x.DepartmentId, ItemId = x.ItemId, UnitPrice = x.UnitPrice, Quantity = x.Quantity }).ToList(); var offsets = (from x in context.Disbursement join d in context.Department on x.DepartmentId equals d.DepartmentId join y in context.TransactionDetail on x.DisbursementId equals y.TransactionRef join i in context.Stationery on y.ItemId equals i.ItemId join z in context.StationeryRequest on x.RequestId equals z.RequestId where z.Status == "Partially Fulfilled" select new SimpleDisbViewModel { RequestId = x.RequestId, DepartmentId = x.DepartmentId, DepartmentName = d.DepartmentName, ItemId = y.ItemId, Description = i.Description, Quantity = y.Quantity }).ToList(); foreach (var req in requests) { var disb = offsets.FirstOrDefault(x => x.RequestId == req.RequestId && x.ItemId == req.ItemId); if (disb != null) { req.Quantity -= (int)disb.Quantity; } } List <RequestByIdViewModel> model = new List <RequestByIdViewModel>(); foreach (var item in requests) { var exist = model.FirstOrDefault(x => x.RequestId == item.RequestId && x.DepartmentId == item.DepartmentId); if (exist != null) { DeptAndItemViewModel newVM = new DeptAndItemViewModel(); newVM.ItemId = item.ItemId; newVM.UnitPrice = item.UnitPrice; newVM.Quantity = item.Quantity; exist.ItemList.Add(newVM); } else { RequestByIdViewModel newRVM = new RequestByIdViewModel(); newRVM.RequestId = item.RequestId; newRVM.DepartmentId = item.DepartmentId; List <DeptAndItemViewModel> newList = new List <DeptAndItemViewModel>(); DeptAndItemViewModel newVM = new DeptAndItemViewModel(); newVM.ItemId = item.ItemId; newVM.UnitPrice = item.UnitPrice; newVM.Quantity = item.Quantity; newList.Add(newVM); newRVM.ItemList = newList; model.Add(newRVM); } } return(model); }