public async Task <ActionResult> POApprover() { var nh = new NHibernateUserStore(); var response = new HttpResponseMessage(HttpStatusCode.OK); var user = (UserModel)HttpContext.Session[Config.GetAppSetting("SessionKey")]; //UserModel user = null; if (user != null) { //user = (UserModel)task.GetType().GetProperty("Result").GetValue(task); } else if (CurrentUserSession.userSecurityStampCookie != null) { user = await nh.FindByStampAsync(CurrentUserSession.userSecurityStampCookie); HttpContext.Session[Config.GetAppSetting("SessionKey")] = user; var owinAuthentication = new OwinAuthenticationService(HttpContext); owinAuthentication.SignIn(user); } else { return(RedirectToAction("Login", "User")); } var nhps = new NHibernatePOStore(); var pr = await nhps.FindPOApprovalAsync(user.employee.position); return(View(pr)); }
// POST api/<controller> public async Task <IList <POApprovalViewModel> > Post(IList <POApprovalViewModel> value) { var nh = new NHibernateUserStore(); var nhps = new NHibernatePOStore(); List <POApprovalViewModel> POs = new List <POApprovalViewModel>(); foreach (var approved in value) { var user = nh.FindByStampAsync(approved.SecurityStamp); if (user != null) { var approval = await nhps.FindPOAprovalAsync(approved.Id); approval.Status = approved.Status; switch (approval.Status) { case StatusType.Approved: var POApprovals = await nhps.FindPOAprovalAsync(approval.POHeader); approval.ApprovedBy = user.Result; approval.DateApproved = DateTime.UtcNow; foreach (var POApproval in POApprovals) { if (POApproval.Status == StatusType.Approved) { approval.POHeader.Status = StatusType.Approved; } else { approval.POHeader.Status = POApproval.Status; break; } } break; case StatusType.Rejected: approval.POHeader.Status = approval.Status; break; default: break; } try { await nhps.SaveOrUpdatePOApprovalAsync(approval); } catch (Exception e) { } approved.RequisitionNo = approval.POHeader.RequisitionNo; POs.Add(approved); } } return(POs); }
public async Task <ActionResult> UpdatePO(POViewModel value) { var nhpa = new NHibernatePOStore(); var employees = new NHibernateCompanyStore(); var po = await nhpa.FindPOAByIdAsync(value.Id); ViewData["employees"] = await employees.GetAllEmployeeAsync(); return(PartialView(po)); }
public async Task <ActionResult> POList(SearchItemViewModel value) { value.searchItem = value.searchItem ?? ""; var nhpa = new NHibernatePOStore(); IList <POHeaderModel> searchPOs = null; try { searchPOs = await nhpa.SearchPRAsync(value.searchItem); } catch (Exception e) { } return(PartialView(searchPOs)); }
// POST api/<controller> public async Task <long> Post(POViewModel value) { const long PurchaserHead = 6; var nhpos = new NHibernatePOStore(); var nhus = new NHibernateUserStore(); var company = new NHibernateCompanyStore(); var po = await nhpos.FindPOAByIdAsync(value.Id); var user = await nhus.FindByStampAsync(value.SecurityStamp); foreach (var line in value.Lines) { var nhps = new NHibernatePRStore(); var poLine = new POLinesModel() { Quantity = line.Quantity, UOM = line.UOM, Description = line.Description, UnitPrice = line.UnitPrice, PRLine = await nhps.GetPRLineAsync(line.PRLineId), Name = line.Name, CreatedBy = user }; po.Lines.Add(poLine); } po.Status = value.Status; if (value.Status == StatusType.ForApproval) { var approver = new POAprovalModel() { Approver = await company.GetPositionByIdAsync(PurchaserHead), Status = StatusType.ForApproval }; po.Approvals = new List <POAprovalModel>(); po.Approvals.Add(approver); var costApprover = company.FindCostApprover(po.Amount); if (costApprover.Result != null) { var approver2 = new POAprovalModel() { Approver = costApprover.Result.Approver, Status = StatusType.ForApproval }; po.Approvals.Add(approver2); } } await nhpos.SaveOrUpdatePOHeaderAsync(po); return(value.Id); }
// POST api/<controller> public async Task <IList <POHeaderModel> > Post(IList <PrLinesViewModel> value) { List <POHeaderModel> POs = new List <POHeaderModel>(); NHibernatePRStore nhprs = new NHibernatePRStore(); NHibernatePOStore nhpos = new NHibernatePOStore(); foreach (var line in value) { var prLine = await nhprs.GetPRLineAsync(line.Id); var searchPOs = await nhpos.FindPoWithSameSupplierAsync(prLine); if (searchPOs.Count > 0) { if (POs.Count > 0) { foreach (var po in searchPOs) { po.PoNumber = po.RequisitionNo; var AlreadyExists = POs.Contains(po); if (AlreadyExists == false) { POs.Add(po); } } } else { foreach (var po in searchPOs) { po.PoNumber = po.RequisitionNo; POs.Add(po); } } } } return(POs); }
public async Task <ActionResult> AddingLinesToPo(POViewModel value) { var nhpa = new NHibernatePOStore(); var nhpr = new NHibernatePRStore(); var employees = new NHibernateCompanyStore(); var po = await nhpa.FindPOAByIdAsync(value.Id); List <PRLinesModel> prlines = new List <PRLinesModel>(); foreach (var line in value.Lines) { var prline = await nhpr.GetPRLineAsync(line.PRLineId); if (prline != null) { prlines.Add(prline); } } ViewData["prlines"] = prlines; ViewData["employees"] = await employees.GetAllEmployeeAsync(); return(PartialView(po)); }
// POST api/<controller> public async Task <string> Post(POViewModel value) { const long PurchaserHead = 6; var nhss = new NHibernateISupplierStore(); var nhcs = new NHibernateCompanyStore(); var nhpos = new NHibernatePOStore(); var nhus = new NHibernateUserStore(); var company = new NHibernateCompanyStore(); var requierDate = value.RequiredDate < DateTime.UtcNow ? DateTime.UtcNow.AddDays(6) : value.RequiredDate; var user = await nhus.FindByStampAsync(value.SecurityStamp); var requestor = await nhcs.GetEmployeeAsync(value.RequestorId); var po = await nhpos.FindPOAByIdAsync(value.Id); if (po == null) { po = new POHeaderModel() { Supplier = await nhss.FindSupplierByIdAsync(value.SupplierId), PaymentTerm = value.PaymentTerm, Requestor = requestor, DeliveryAdress = value.DeliveryAdress, Status = value.Status, RequiredDate = requierDate, NoteToBuyer = value.NoteToBuyer, CreatedBy = user, Amount = value.Amount, CRC = requestor.Team.CRC, Lines = new List <POLinesModel>() }; foreach (var line in value.Lines) { var nhps = new NHibernatePRStore(); var poLine = new POLinesModel() { Quantity = line.Quantity, UOM = line.UOM, Description = line.Description, UnitPrice = line.UnitPrice, PRLine = await nhps.GetPRLineAsync(line.PRLineId), Name = line.Name, CreatedBy = user }; po.Lines.Add(poLine); } } else { po.Requestor = await nhcs.GetEmployeeAsync(value.RequestorId); po.DeliveryAdress = value.DeliveryAdress; po.Amount = value.Amount; for (var i = 0; i < po.Lines.Count; i++) { var found = false; var id = po.Lines.ElementAt(i).Id; foreach (var line in value.Lines) { if (line.Id == id) { found = true; po.Lines.ElementAt(i).Quantity = line.Quantity; po.Lines.ElementAt(i).UOM = line.UOM; po.Lines.ElementAt(i).Description = line.Description; po.Lines.ElementAt(i).UnitPrice = line.UnitPrice; break; } } if (found == false) { po.Lines.ElementAt(i).DeleteTime = DateTime.UtcNow; } } } if (value.Status == StatusType.ForApproval) { var approver = new POAprovalModel() { Approver = await company.GetPositionByIdAsync(PurchaserHead), Status = StatusType.ForApproval }; po.Approvals = new List <POAprovalModel>(); po.Approvals.Add(approver); var costApprover = company.FindCostApprover(po.Amount); if (costApprover.Result != null) { var approver2 = new POAprovalModel() { Approver = costApprover.Result.Approver, Status = StatusType.ForApproval }; po.Approvals.Add(approver2); } } try { await nhpos.SaveOrUpdatePOHeaderAsync(po); } catch (Exception e) { } return(po.RequisitionNo); }