public JsonResult GetAll() { var _pRs = _pRRepository.GetAll(); var _listPRViewModel = new List <PRViewModel>(); foreach (var _pR in _pRs) { var _pRViewModel = new PRViewModel(); var _departmentRepository = new DepartmentRepository(); //Mapping _pRViewModel.PRNo = _pR.PRNo; _pRViewModel.SelectedDeptCode = _pR.DeptCode; //_pRViewModel.Departments = _departmentRepository.GetById(_pRViewModel.DeptCodeRequested); _pRViewModel.Reason = _pR.Reason; _pRViewModel.PRDate = _pR.PRDate; _pRViewModel.RequestedBy = _pR.RequestedBy; _pRViewModel.RequestedDate = _pR.RequestedDate; _pRViewModel.ApprovedStatus = _pR.ApprovedStatus; _pRViewModel.SelectedDepartment = _departmentRepository.GetById(_pRViewModel.SelectedDeptCode); _listPRViewModel.Add(_pRViewModel); } return(Json(new { data = _listPRViewModel }, JsonRequestBehavior.AllowGet)); }
public ActionResult Edit(string pRNo) { var _pRViewModel = new PRViewModel(); var _pRLineRepository = new PRLineRepository(); var _departmentRepository = new DepartmentRepository(); _pRViewModel.Departments = _departmentRepository.GetAll(); var _pR = _pRRepository.GetById(pRNo); ////Mapping _pRViewModel.Id = _pR.Id; _pRViewModel.PRNo = _pR.PRNo; _pRViewModel.SelectedDeptCode = _pR.DeptCode; _pRViewModel.RequestedDate = _pR.RequestedDate; _pRViewModel.Reason = _pR.Reason; var _listPRLines = _pRLineRepository.GetById(pRNo); var _listPRLineViewModel = new List <PRLineViewModel>(); foreach (var _pRLine in _listPRLines) { var _pRLineViewModel = new PRLineViewModel(); //Bu sung Id de xoa PRLine _pRLineViewModel.Id = _pRLine.Id; _pRLineViewModel.SelectedItemCode = _pRLine.ItemCode; _pRLineViewModel.SelectedItemName = _pRLine.ItemName; _pRLineViewModel.UoM = _pRLine.UoM; _pRLineViewModel.InStock = _pRLine.InStock; _pRLineViewModel.QtyRequest = _pRLine.QtyRequest; _pRLineViewModel.NeededDate = _pRLine.NeededDate; _pRLineViewModel.PRLinesStatus = _pRLine.PRLinesStatus; _pRLineViewModel.Price = _pRLine.Price; _listPRLineViewModel.Add(_pRLineViewModel); } _pRViewModel.PRLines = _listPRLineViewModel; return(View(_pRViewModel)); }
public ActionResult Create() { //var _pRViewModel = new PRViewModel(); //var _departmentRepository = new DepartmentRepository(); //_pRViewModel.Departments = _departmentRepository.GetAll(); //var _itemRepository = new ItemRepository(); //return View(_pRViewModel); //Thay the bang code sau var _departmentRepository = new DepartmentRepository(); var _itemRepository = new ItemRepository(); var _pRViewModel = new PRViewModel(); var _pRLineViewModel = new PRLineViewModel(); var MultiObj = new Tuple <PRViewModel, PRLineViewModel, IEnumerable <SelectListItem>, IEnumerable <ItemViewModel> > (_pRViewModel, _pRLineViewModel, _departmentRepository.GetAll(), _itemRepository.GetAll()); return(View(MultiObj)); }
public ActionResult Create(PRViewModel requestItem) { if (ModelState.IsValid) { if (requestItem.RI.UserRequest.TotalCost <= 20) { requestItem.RI.UserRequest.Status = "Approved"; } else { requestItem.RI.UserRequest.Status = "Pending"; } requestItem.RI.UserRequest.RequestorEmail = User.Identity.Name != string.Empty ? User.Identity.Name : "No Email"; requestItem.RI.UserRequest.DateRequested = DateTime.Now; var newPR = db.UserRequests.Add(requestItem.RI.UserRequest); db.SaveChanges(); var cps = requestItem.Products; var prodItems = JsonConvert.DeserializeObject <List <ProductsJson> >(cps); int prodid = 0; int qty = 0; foreach (var prod in prodItems) { prodid = int.Parse(prod.ProductID); qty = int.Parse(prod.QtyNeeded); db.PurchaseRequests.Add(new PurchaseRequest { UserRequestID = newPR.UserRequestID, ProductID = prodid, QtyNeeded = qty }); var qtyfix = from pd in db.Products where pd.ProductID == prodid select pd; qtyfix.First().QtyInStock = qtyfix.First().QtyInStock - qty; } db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.ProductId = new SelectList(db.Products, "ProductId", "ProductName", requestItem.RI.ProductID); ViewBag.PurchaseRequestId = new SelectList(db.PurchaseRequests, "RequestId", "Status", requestItem.RI.UserRequestID); return(View(requestItem)); }
// POST api/<controller> public async Task Post(PRViewModel value) { var nh = new NHibernateUserStore(); var nhps = new NHibernatePRStore(); var session = HttpContext.Current.Session; //var sessionKey = Config.GetAppSetting("SessionKey").ToString(); var user = nh.FindByStampAsync(value.SecurityStamp); if (user != null) { var nhcs = new NHibernateCompanyStore(); var utcDate = value.DateNeeded.ToUniversalTime(); var requestor = await nhcs.GetEmployeeAsync(value.RequestorId); DateTime dateNeeded; if (value.DateNeeded < DateTime.UtcNow) { dateNeeded = DateTime.UtcNow.AddDays(6); } else { dateNeeded = value.DateNeeded; } var prHeader = new PRHeaderModel() { Status = StatusType.Request, Requestor = requestor, DeliveryAdress = value.DeliveryAdress, NoteToBuyer = value.NoteToBuyer, DateNeeded = dateNeeded, CRC = requestor.Team.CRC, CreatedBy = user.Result, Lines = new List <PRLinesModel>(), Approvals = new List <PRAprovalModel>(), }; if (requestor.ImmediateLeader != null) { var immedieateAprover = new PRAprovalModel() { Approver = requestor.ImmediateLeader, Status = StatusType.Request, CreatedBy = user.Result }; prHeader.Approvals.Add(immedieateAprover); } if (requestor.Department != null) { if (!prHeader.Approvals.Any(s => s.Approver.Id == requestor.Department.DepartmentLeader.Id)) { var DepLeadAproval = new PRAprovalModel() { Approver = requestor.Department.DepartmentLeader, Status = StatusType.Request, CreatedBy = user.Result }; prHeader.Approvals.Add(DepLeadAproval); } } if (requestor.Company.Corfin != null && requestor.Company.Corfin.Id != requestor.position.Id) { if (!prHeader.Approvals.Any(s => s.Approver.Id == requestor.Company.Corfin.Id)) { var corfin = new PRAprovalModel() { Approver = requestor.Company.Corfin, Status = StatusType.Request, CreatedBy = user.Result }; prHeader.Approvals.Add(corfin); } } foreach (var line in value.Lines) { var lin = await nhps.GetPRLineAsync(line.Id); if (lin.Item != null) { if (lin.Item.SubCategory != null) { if (!prHeader.Approvals.Any(s => s.Approver.Id == lin.Item.SubCategory.Category.Approver.Id)) { var ItemAproval = new PRAprovalModel() { Approver = lin.Item.SubCategory.Category.Approver, Status = StatusType.Request, CreatedBy = user.Result }; prHeader.Approvals.Add(ItemAproval); } } lin.Description = lin.Item.Description; lin.Supplier = lin.Item.Supplier; lin.UnitPrice = lin.Item.Price; lin.UOM = lin.Item.UOM; } else { if (lin.NonCatalog.SubCategory != null) { if (!prHeader.Approvals.Any(s => s.Approver.Id == lin.NonCatalog.SubCategory.Category.Approver.Id)) { var ItemAproval = new PRAprovalModel() { Approver = lin.NonCatalog.SubCategory.Category.Approver, Status = StatusType.Request, CreatedBy = user.Result }; prHeader.Approvals.Add(ItemAproval); } } var item = lin.NonCatalog.Lines.Where(x => x.Selected == true && x.DeleteTime == null).SingleOrDefault(); lin.Description = item.Description; lin.Supplier = item.Supplier; lin.UnitPrice = item.Price; lin.UOM = item.UOM; } lin.TotalAmount = lin.Quantity * lin.UnitPrice; prHeader.Amount += lin.TotalAmount; prHeader.Lines.Add(lin); } try { await nhps.CreatePRHeaderAsync(prHeader); } catch (Exception e) { } } }