public ActionResult DeleteConfirmed(int id) { PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); Item item = db.Item.Find(id); Approval approval = db.Approval.Find(id); db.PurchaseRequisition.Remove(purchaseRequisition); try { db.Item.Remove(item); } catch (Exception e) { return RedirectToAction("CannotDelete"); } try { db.Approval.Remove(approval); } catch(Exception e) { return RedirectToAction("CannotDelete"); } try { db.SaveChanges(); } catch(Exception e) { return RedirectToAction("CannotDelete"); } return RedirectToAction("Index"); }
public ActionResult Create([Bind(Include = "PurchaseRequisitionOID,PurchaseRequisitionID,ProductNumber,EmployeeID,PRBeginDate,ProcessStatus,SignStatus,SignFlowOID")] PurchaseRequisition purchaseRequisition) { int z = 1; string x = "", year, month, day; year = DateTime.Now.Year.ToString(); month = DateTime.Now.Month.ToString(); day = DateTime.Now.Day.ToString(); x = year + month + day; string y = "PR-" + x + "-00" + z.ToString(); for (int i = 0; i < db.PurchaseRequisition.Count(); i++) { PurchaseRequisition test = db.PurchaseRequisition.Find(y); if (z < 9) { if (test != null) { z += 1; y = "PR-" + x + "-00" + z.ToString(); test = db.PurchaseRequisition.Find(y); } } else if (z < 99) { if (test != null) { z += 1; y = "PR-" + x + "-0" + z.ToString(); test = db.PurchaseRequisition.Find(y); } } else { if (test != null) { z += 1; y = "PR-" + x + "-" + z.ToString(); test = db.PurchaseRequisition.Find(y); } } } purchaseRequisition.EmployeeID = "CE00002"; purchaseRequisition.ProcessStatus = "N"; purchaseRequisition.SignStatus = "S"; purchaseRequisition.PurchaseRequisitionID = y; //PurchaseRequisitionID請購單編號=PR-yyyyMMdd-3碼流水號(PR-20191023-001) if (ModelState.IsValid) { purchaseRequisition.PRBeginDate = DateTime.Now; db.PurchaseRequisition.Add(purchaseRequisition); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EmployeeID = new SelectList(db.Employee, "EmployeeID", "Name", purchaseRequisition.EmployeeID); ViewBag.ProductNumber = new SelectList(db.Product, "ProductNumber", "ProductName", purchaseRequisition.ProductNumber); ViewBag.SignFlowOID = new SelectList(db.SignFlow, "SignFlowOID", "OriginatorID", purchaseRequisition.SignFlowOID); return(View(purchaseRequisition)); }
public async Task <IActionResult> PutPurchaseRequisition(int id, PurchaseRequisition purchaseRequisition) { if (id != purchaseRequisition.RequisitionNo) { return(BadRequest()); } //_context.Entry(purchaseRequisition).State = EntityState.Modified; var existingRequisition = _context.PurchaseRequisitions.Find(id); existingRequisition.Status = purchaseRequisition.Status; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PurchaseRequisitionExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public string ApproveActionUpdate(string prequisitionCode, int pApprovalAction, bool pIsApproved, SqlConnection objDbConnection, SqlTransaction objDbTransaction) { string vOut = string.Empty; int vResult = 0; string vUpdateQuery = string.Empty; string vComTxt = string.Empty; string vUpdateSOStatus = string.Empty; try { PurchaseRequisition objPurchaseRequisition = new PurchaseRequisition(); objPurchaseRequisition = GetRequisitionByCode(prequisitionCode); if (pIsApproved == true) { vUpdateQuery = "UPDATE " + PMS_PurchaseRequisition_TBL + " SET ApprovalAction = " + pApprovalAction + ", IsApproved = 1 " + " WHERE RequisitionCode = '" + prequisitionCode + "' and [ActionType] <> 'Delete'"; } else { vUpdateQuery = "UPDATE " + PMS_PurchaseRequisition_TBL + " SET ApprovalAction = " + pApprovalAction + " " + " WHERE RequisitionCode = '" + prequisitionCode + "' and [ActionType] <> 'Delete' "; } using (SqlCommand command = new SqlCommand("", objDbConnection, objDbTransaction)) { command.CommandText = vUpdateQuery; vResult = command.ExecuteNonQuery(); } if (vResult > 0) { //objDbTransaction.Commit(); vOut = EnumMessageId.LS101.ToString(); } else { //objDbTransaction.Rollback(); vOut = EnumMessageId.LS200.ToString(); } } catch (DbException ex) { //objDbTransaction.Rollback(); vOut = EnumMessageId.LS251.ToString() + ": \n " + ex.Message; } finally { //objDbConnection.Close(); } return(vOut); }
public IActionResult SavePurchaseRequsition(PurchaseRequisition objPMS_PurchaseRequisition) { string Vmsg = string.Empty; objPMS_PurchaseRequisition.ActionDate = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy"); objPMS_PurchaseRequisition.RequisitionDate = CommonValidation.FormatDate(objPMS_PurchaseRequisition.RequisitionDate, "yyyy-mm-dd", "dd-mm-yyyy"); if (objPMS_PurchaseRequisition.PurchaseRequisitionItemList_VW.Count > 0) { foreach (PurchaseRequisitionItem objPurchaseRequisitionItem in objPMS_PurchaseRequisition.PurchaseRequisitionItemList_VW) { objPurchaseRequisitionItem.ActionDate = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy"); objPurchaseRequisitionItem.ActionType = objPMS_PurchaseRequisition.ActionType; objPurchaseRequisitionItem.UserCode = objPMS_PurchaseRequisition.UserCode; objPurchaseRequisitionItem.CompanyCode_FK = objPMS_PurchaseRequisition.CompanyCode_FK; if (objPurchaseRequisitionItem.PurchaseReqItemSpecificationList_VW.Count > 0) { foreach (PurchaseReqItemSpecification purchaseReqItemSpecification in objPurchaseRequisitionItem.PurchaseReqItemSpecificationList_VW) { purchaseReqItemSpecification.ActionDate = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy"); purchaseReqItemSpecification.ActionType = objPMS_PurchaseRequisition.ActionType; purchaseReqItemSpecification.UserCode = objPMS_PurchaseRequisition.UserCode; purchaseReqItemSpecification.CompanyCode_FK = objPMS_PurchaseRequisition.CompanyCode_FK; } } else { Vmsg = "Please enter product specfication!"; } } } else { Vmsg = "Please enter product!"; } if (objPMS_PurchaseRequisition.PurchaseRequisitionTermsList_VW.Count > 0) { foreach (PurchaseRequisitionCondition purchaseRequisitionCondition in objPMS_PurchaseRequisition.PurchaseRequisitionTermsList_VW) { purchaseRequisitionCondition.ActionDate = CommonValidation.FormatDate(DateTime.Today.ToString("dd-MM-yyyy"), "yyyy-mm-dd", "dd-mm-yyyy"); purchaseRequisitionCondition.ActionType = objPMS_PurchaseRequisition.ActionType; purchaseRequisitionCondition.UserCode = objPMS_PurchaseRequisition.UserCode; purchaseRequisitionCondition.CompanyCode_FK = objPMS_PurchaseRequisition.CompanyCode_FK; } } else { Vmsg = "Please enter Terms and Condition!"; } if (Vmsg == "") { Vmsg = _purchaseRequsitionRepository.SavePurchaseRequsition(objPMS_PurchaseRequisition); } return(Ok(new { message = Vmsg })); }
public IActionResult GetRequisitionByCode(string requisitionCode) { PurchaseRequisition purchaseRequisitions = new PurchaseRequisition(); purchaseRequisitions = _purchaseRequsitionRepository.GetRequisitionByCode(requisitionCode); return(Ok(new { purchaseRequisitions })); }
public ActionResult Edit([Bind(Include = "Id,UserId,Date,Justification,ApprovalStatus,BudgetId")] PurchaseRequisition purchaseRequisition) { if (ModelState.IsValid) { db.Entry(purchaseRequisition).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.BudgetId = new SelectList(db.Budget, "Id", "Name", purchaseRequisition.BudgetId); ViewBag.UserId = new SelectList(db.Users, "Id", "Email", purchaseRequisition.UserId); return View(purchaseRequisition); }
public ActionResult Edit([Bind(Include = "PurchaseRequisitionOID,PurchaseRequisitionID,ProductNumber,EmployeeID,PRBeginDate,ProcessStatus,SignStatus,SignFlowOID")] PurchaseRequisition purchaseRequisition) { if (ModelState.IsValid) { db.Entry(purchaseRequisition).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.EmployeeID = new SelectList(db.Employee, "EmployeeID", "Name", purchaseRequisition.EmployeeID); ViewBag.ProductNumber = new SelectList(db.Product, "ProductNumber", "ProductName", purchaseRequisition.ProductNumber); ViewBag.SignFlowOID = new SelectList(db.SignFlow, "SignFlowOID", "OriginatorID", purchaseRequisition.SignFlowOID); return(View(purchaseRequisition)); }
public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); if (purchaseRequisition == null) { return HttpNotFound(); } return View(purchaseRequisition); }
// GET: PurchaseRequisitions/Details/5 public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); if (purchaseRequisition == null) { return(HttpNotFound()); } return(View(purchaseRequisition)); }
public ActionResult Create([Bind(Include = "Id,UserId,Date,Justification,BudgetId")] PurchaseRequisition purchaseRequisition) { purchaseRequisition.Date = DateTime.Now; if (ModelState.IsValid) { db.PurchaseRequisition.Add(purchaseRequisition); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.BudgetId = new SelectList(db.Budget, "Id", "Name", purchaseRequisition.BudgetId); ViewBag.UserId = new SelectList(db.Users, "Id", "Email", purchaseRequisition.UserId); return View(purchaseRequisition); }
public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); if (purchaseRequisition == null) { return HttpNotFound(); } ViewBag.BudgetId = new SelectList(db.Budget, "Id", "Name", purchaseRequisition.BudgetId); ViewBag.UserId = new SelectList(db.Users, "Id", "Email", purchaseRequisition.UserId); return View(purchaseRequisition); }
public IActionResult GetRFProcessingByCode(string rFProcessCode) { RFProcessing objRFPProcessing = new RFProcessing(); objRFPProcessing = _rfpprocessingrepository.GetRFProcessingByCode(rFProcessCode); PurchaseRequisition purchaseRequisitions = new PurchaseRequisition(); purchaseRequisitions = _purchaseRequsitionRepository.GetRequisitionByCode(objRFPProcessing.RequisitionCode_FK); return(Ok(new { objRFPProcessing, purchaseRequisitions })); }
public async Task <ActionResult <PurchaseRequisition> > PostPurchaseRequisition(PurchaseRequisitionDTO purchaseRequisitionDTO) { SiteManager siteManager = _context.SiteManagers.FirstOrDefault(e => e.StaffId == purchaseRequisitionDTO.SiteManagerId); Supplier supplier = _context.Supplier.FirstOrDefault(e => e.SupplierCode == purchaseRequisitionDTO.SupplierCode); Site site = _context.Sites.FirstOrDefault(e => e.SiteCode == purchaseRequisitionDTO.SiteCode); PurchaseRequisition purchaseRequisition = new PurchaseRequisition { ShippingAddress = purchaseRequisitionDTO.ShippingAddress, DeliverBefore = purchaseRequisitionDTO.DeliverBefore, DeliveryCost = purchaseRequisitionDTO.DeliveryCost, TotalCost = purchaseRequisitionDTO.TotalCost, Status = purchaseRequisitionDTO.Status, Comments = purchaseRequisitionDTO.Comments, SiteManager = siteManager, Supplier = supplier, Site = site }; var itemMap = new Dictionary <string, int>(); foreach (string itemId in purchaseRequisitionDTO.ItemIds) { if (itemMap.ContainsKey(itemId)) { itemMap[itemId] = itemMap[itemId] + 1; } else { itemMap.Add(itemId, 1); } } for (int i = 0; i < itemMap.Count; i++) { var item = new PurchaseRequisitionItems { ItemId = itemMap.ElementAt(i).Key, PurchaseRequisition = purchaseRequisition, ItemCount = itemMap.ElementAt(i).Value }; _context.Set <PurchaseRequisitionItems>().Add(item); } _context.PurchaseRequisitions.Add(purchaseRequisition); await _context.SaveChangesAsync(); return(CreatedAtAction("GetPurchaseRequisition", new { id = purchaseRequisition.RequisitionNo }, purchaseRequisition)); }
// GET: PurchaseRequisitions/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); if (purchaseRequisition == null) { return(HttpNotFound()); } ViewBag.EmployeeID = new SelectList(db.Employee, "EmployeeID", "Name", purchaseRequisition.EmployeeID); ViewBag.ProductNumber = new SelectList(db.Product, "ProductNumber", "ProductName", purchaseRequisition.ProductNumber); ViewBag.SignFlowOID = new SelectList(db.SignFlow, "SignFlowOID", "OriginatorID", purchaseRequisition.SignFlowOID); return(View(purchaseRequisition)); }
public ActionResult Delete(string id) //請購單刪除 { try { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PurchaseRequisition purchaseRequisition = db.PurchaseRequisition.Find(id); if (purchaseRequisition == null) { return(HttpNotFound()); } db.PurchaseRequisition.Remove(purchaseRequisition); db.SaveChanges(); return(RedirectToAction("Index")); } catch { //return RedirectToAction("Index"); return(Content("<script> alert('刪除失敗');window.location.href='../Index'</script>")); //return Content("") } }
public PurchaseRequisition GetRequisitionByCode(string requisitionCode) { PurchaseRequisition objpurchaserequsition = new PurchaseRequisition(); string vComTxt = @"SELECT [RequisitionCode] ,[RequisitionID] ,[RequisitionDate] ,[RequisitionTitle] ,[RequisitionFor] ,dbo.fxn_FileName(RequisitionFor) department ,[RequisitionForType] ,[RequisitionType] ,dbo.fxn_FileName(RequisitionType) RequisitionTypeName ,[ReqProductCategory] ,dbo.fxn_FileName(ReqProductCategory)servicetype ,[Requester] ,e.employeeid ,[IsApproved] ,[ApprovalAction] ,[Remarks] ,[PriceLock] ,(case when [PriceLock]=1 then 'Yes' else 'No' end) PriceLockname FROM [PMS_PurchaseRequisition] r join HR_Employee e on r.[Requester]=e.EmployeeCode WHERE [RequisitionCode]= '" + requisitionCode + "'"; SqlConnection connection = _supplierDbContext.GetConn(); connection.Open(); SqlDataReader dr; SqlCommand objDbCommand = new SqlCommand(vComTxt, connection); dr = objDbCommand.ExecuteReader(); if (dr.Read()) { objpurchaserequsition = new PurchaseRequisition(); objpurchaserequsition.RequisitionCode_PK = dr["RequisitionCode"].ToString(); objpurchaserequsition.RequisitionID = dr["RequisitionID"].ToString(); objpurchaserequsition.RequisitionDate = dr.GetDateTime(dr.GetOrdinal("RequisitionDate")).ToString("dd/MM/yyyy"); objpurchaserequsition.RequisitionTitle = dr["RequisitionTitle"].ToString(); objpurchaserequsition.RequisitionFor = Convert.ToInt16(dr["RequisitionFor"].ToString()); objpurchaserequsition.RequisitionFor_VW = dr["department"].ToString(); objpurchaserequsition.RequisitionForType = Convert.ToInt16(dr["RequisitionForType"].ToString()); objpurchaserequsition.RequisitionForTypeName_VW = dr["RequisitionTypeName"].ToString(); objpurchaserequsition.ReqProductCategory = Convert.ToInt16(dr["ReqProductCategory"].ToString()); objpurchaserequsition.ReqProductCategory_VW = dr["servicetype"].ToString(); objpurchaserequsition.Requester = dr["Requester"].ToString(); objpurchaserequsition.EmployeeId_VW = dr["employeeid"].ToString(); objpurchaserequsition.IsApproved = Convert.ToInt32(dr["IsApproved"].ToString()); objpurchaserequsition.ApprovalAction = Convert.ToInt32(dr["ApprovalAction"].ToString()); objpurchaserequsition.Remarks = dr["Remarks"].ToString(); objpurchaserequsition.PriceLock = Convert.ToInt32(dr["PriceLock"].ToString()); objpurchaserequsition.PriceLockName_VW = dr["PriceLockname"].ToString(); } dr.Close(); objpurchaserequsition.PurchaseRequisitionItemList_VW = GetRequisitionItem(requisitionCode, connection); objpurchaserequsition.PurchaseRequisitionTermsList_VW = GetRequsitionCondition(requisitionCode, connection); return(objpurchaserequsition); }
public void InsertPurchase(PurchaseColumnModel model) { try { using (this.unitOfWork) { Purchase item = new Purchase() { CustomerId = model.CustomerId, PONumber = model.PONumber, Date = model.PurchaseDate, Type = model.Type, TotalAmount = model.TotalAmount, IsPaid = model.IsPaid, PurchaseOption = model.Option, Comment = model.Comment, RecordedBy = model.RecordedBy, ApprovedBy = model.ApprovedBy, IsDeleted = model.IsDeleted, Vat = model.Vat, VatableSale = model.VatableSale, InvoiceDiscount = model.InvoiceDiscount, InvoiceDiscountPercent = model.InvoiceDiscountPercent, Balance = model.TotalAmount }; foreach (PurchaseDetailViewModel detail in model.Details) { var autoPartDetail = db.AutoPartDetail.FirstOrDefault(a => a.Id == detail.AutoPartDetailId); PurchaseDetail d = new PurchaseDetail() { Purchase = item, AutoPartDetail = autoPartDetail, Quantity = detail.Quantity, Unit = detail.Unit, Price = detail.UnitPrice, TotalDiscount = detail.TotalDiscount, DiscountPercent = detail.DiscountPercent, DiscountPercent2 = detail.DiscountPercent2, DiscountPercent3 = detail.DiscountPercent3, TotalAmount = detail.TotalAmount }; //If delivered, add delivered quantity autoPartDetail.Quantity += detail.Quantity; var discountedPrice = detail.UnitPrice - detail.TotalDiscount; if (discountedPrice < autoPartDetail.BuyingPrice) { autoPartDetail.BuyingPrice = discountedPrice; } } if (!string.IsNullOrWhiteSpace(model.PR)) { string[] PRs = model.PR.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in PRs) { PurchaseRequisition r = new PurchaseRequisition(); r.PRNumber = s; item.PurchaseRequisition.Add(r); } } if (!string.IsNullOrWhiteSpace(model.PO)) { string[] POs = model.PO.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in POs) { PurchaseOrder o = new PurchaseOrder(); o.PONumber = s; item.PurchaseOrder.Add(o); } } this.unitOfWork.Context.AddToPurchase(item); string action = string.Format("Added New Purchase - {0}", item.PONumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public string SavePurchaseRequsition(PurchaseRequisition objPMS_PurchaseRequisition) { int vResult = 0; int vApprovalResult = 0; string vOut = "Exception Occured !"; ArrayList vQueryList = new ArrayList(); objPMS_PurchaseRequisition.TableName_TBL = PMS_PurchaseRequisition_TBL; SqlConnection connection = _supplierDbContext.GetConn(); connection.Open(); using (SqlTransaction trans = connection.BeginTransaction()) { if (string.IsNullOrEmpty(objPMS_PurchaseRequisition.RequisitionCode_PK)) { objPMS_PurchaseRequisition.RequisitionCode_PK = Guid.NewGuid().ToString(); objPMS_PurchaseRequisition.RequisitionID = _iIDGenCriteriaInfo.GenerateID(trans, objPMS_PurchaseRequisition, EnumIdCategory.PurchaseRequsition); } vQueryList.Add(GetQuery(objPMS_PurchaseRequisition)); foreach (PurchaseRequisitionItem objPurchaseRequisitionItem in objPMS_PurchaseRequisition.PurchaseRequisitionItemList_VW) { if (string.IsNullOrEmpty(objPurchaseRequisitionItem.RequisitionDetCode_PK)) { objPurchaseRequisitionItem.RequisitionDetCode_PK = Guid.NewGuid().ToString(); objPurchaseRequisitionItem.TableName_TBL = PMS_PurchaseRequisitionItem_TBL; objPurchaseRequisitionItem.RequisitionCode = objPMS_PurchaseRequisition.RequisitionCode_PK; } vQueryList.Add(GetQuery(objPurchaseRequisitionItem)); foreach (PurchaseReqItemSpecification objPurchaseReqItemSpecification in objPurchaseRequisitionItem.PurchaseReqItemSpecificationList_VW) { if (string.IsNullOrEmpty(objPurchaseReqItemSpecification.SpecificationCode_PK)) { objPurchaseReqItemSpecification.SpecificationCode_PK = Guid.NewGuid().ToString(); objPurchaseReqItemSpecification.TableName_TBL = PMS_PurchaseReqItemSpecification_TBL; objPurchaseReqItemSpecification.RequisitionDetCode = objPurchaseRequisitionItem.RequisitionDetCode_PK; } vQueryList.Add(GetQuery(objPurchaseReqItemSpecification)); } } foreach (PurchaseRequisitionCondition objPurchaseRequisitionTerms in objPMS_PurchaseRequisition.PurchaseRequisitionTermsList_VW) { if (!string.IsNullOrEmpty(objPurchaseRequisitionTerms.ConditionCode_PK)) { //objPurchaseRequisitionTerms.ConditionCode_PK = Guid.NewGuid().ToString(); objPurchaseRequisitionTerms.TableName_TBL = PMS_RequisitionTermsCondition_TBL; objPurchaseRequisitionTerms.RequisitionCode = objPMS_PurchaseRequisition.RequisitionCode_PK; } vQueryList.Add(GetQuery(objPurchaseRequisitionTerms)); } try { using (SqlCommand command = _supplierDbContext.GetCommand()) { foreach (string obj_temp in vQueryList) { command.CommandText = obj_temp; vResult = command.ExecuteNonQuery(); } } if (vResult > 0) { vApprovalResult = AppObjectInfoMapDC.GenerateApprovalFromOtherObject(29, objPMS_PurchaseRequisition.RequisitionCode_PK, objPMS_PurchaseRequisition.UserCode, objPMS_PurchaseRequisition.CompanyCode_FK, connection, trans); if (vApprovalResult > 0) { trans.Commit(); vOut = "Purchase Requsition Saved Successfully"; } } } catch (DbException ex) { trans.Rollback(); throw ex; } finally { connection.Close(); } } return(vOut); }
public void UpdatePurchase(PurchaseColumnModel model) { try { using (this.unitOfWork) { //Get Purchase Details var details = (from d in db.PurchaseDetail where d.PurchaseId == model.Id select d).ToList(); //Subtract the added items then delete original purchase details foreach (var d in details) { var autoPartDetail = d.AutoPartDetail; autoPartDetail.Quantity -= d.Quantity; db.DeleteObject(d); } var item = FetchPurchaseById(model.Id); if (item != null) { item.CustomerId = model.CustomerId; item.PONumber = model.PONumber; item.Date = model.PurchaseDate; item.Type = model.Type; item.Comment = model.Comment; item.PurchaseOption = model.Option; item.RecordedBy = model.RecordedBy; item.ApprovedBy = model.ApprovedBy; item.Vat = model.Vat; item.VatableSale = model.VatableSale; item.IsDeleted = model.IsDeleted; item.InvoiceDiscount = model.InvoiceDiscount; item.InvoiceDiscountPercent = model.InvoiceDiscountPercent; decimal?newBalance = model.TotalAmount - item.TotalAmount + item.Balance; if (newBalance.HasValue && newBalance.Value > 0) { item.Balance = newBalance.Value; item.IsPaid = false; } else { item.Balance = 0; item.IsPaid = true; } item.TotalAmount = model.TotalAmount; foreach (var po in item.PurchaseOrder.ToList()) { db.DeleteObject(po); } foreach (var pr in item.PurchaseRequisition.ToList()) { db.DeleteObject(pr); } } //Add the new purchase details foreach (PurchaseDetailViewModel detail in model.Details) { var autoPartDetail = db.AutoPartDetail.FirstOrDefault(a => a.Id == detail.AutoPartDetailId); PurchaseDetail d = new PurchaseDetail() { Purchase = item, AutoPartDetail = autoPartDetail, Quantity = detail.Quantity, Unit = detail.Unit, Price = detail.UnitPrice, TotalDiscount = detail.TotalDiscount, DiscountPercent = detail.DiscountPercent, DiscountPercent2 = detail.DiscountPercent2, DiscountPercent3 = detail.DiscountPercent3, TotalAmount = detail.TotalAmount }; autoPartDetail.Quantity += detail.Quantity; } if (!string.IsNullOrWhiteSpace(model.PR)) { string[] PRs = model.PR.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in PRs) { PurchaseRequisition r = new PurchaseRequisition(); r.PRNumber = s; item.PurchaseRequisition.Add(r); } } if (!string.IsNullOrWhiteSpace(model.PO)) { string[] POs = model.PO.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in POs) { PurchaseOrder o = new PurchaseOrder(); o.PONumber = s; item.PurchaseOrder.Add(o); } } string action = string.Format("Updated Purchase - {0}", item.PONumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
private void PurchaseRequisitionProgressAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { PurchaseRequisition _locPurchaseRequisitionOS = (PurchaseRequisition)_objectSpace.GetObject(obj); if (_locPurchaseRequisitionOS != null) { if (_locPurchaseRequisitionOS.Code != null) { _currObjectId = _locPurchaseRequisitionOS.Code; PurchaseRequisition _locPurchaseRequisitionXPO = _currSession.FindObject <PurchaseRequisition> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId))); if (_locPurchaseRequisitionXPO != null) { if (_locPurchaseRequisitionXPO.Status == Status.Open || _locPurchaseRequisitionXPO.Status == Status.Progress) { if (_locPurchaseRequisitionXPO.Status == Status.Open) { _locPurchaseRequisitionXPO.Status = Status.Progress; _locPurchaseRequisitionXPO.StatusDate = now; _locPurchaseRequisitionXPO.Save(); _locPurchaseRequisitionXPO.Session.CommitTransaction(); } XPCollection <PurchaseRequisitionLine> _locPurchaseRequisitionLines = new XPCollection <PurchaseRequisitionLine> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("PurchaseRequisition", _locPurchaseRequisitionXPO), new BinaryOperator("Status", Status.Open))); if (_locPurchaseRequisitionLines != null && _locPurchaseRequisitionLines.Count > 0) { foreach (PurchaseRequisitionLine _locPurchaseRequisitionLine in _locPurchaseRequisitionLines) { _locPurchaseRequisitionLine.Status = Status.Progress; _locPurchaseRequisitionLine.StatusDate = now; _locPurchaseRequisitionLine.Save(); _locPurchaseRequisitionLine.Session.CommitTransaction(); } } } SuccessMessageShow("PR has successfully updated to progress"); } else { ErrorMessageShow("Data Purchase Order Not Available"); } } else { ErrorMessageShow("Data Purchase Order Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = PurchaseRequisition " + ex.ToString()); } }
public void InsertSale(SaleColumnModel model) { try { using (this.unitOfWork) { Sale item = new Sale() { CustomerId = model.CustomerId, InvoiceNumber = model.InvoiceNumber, Date = model.Date, Type = model.Type, VatableSale = model.VatableSale, Vat = model.Vat, TotalAmount = model.TotalAmount, IsPaid = model.IsPaid, RecordedBy = model.RecordedBy, ApprovedBy = model.ApprovedBy, Comment = model.Comment, IsDeleted = model.IsDeleted, InvoiceDiscount = model.InvoiceDiscount, InvoiceDiscountPercent = model.InvoiceDiscountPercent, Balance = model.TotalAmount }; foreach (SalesDetailViewModel detail in model.Details) { var autoPartDetail = this.autoPartController.FetchAutoPartDetailById(detail.AutoPartDetailId); SaleDetail d = new SaleDetail() { Sale = item, AutoPartDetail = autoPartDetail, Quantity = detail.Quantity, Unit = detail.Unit, SRP = detail.UnitPrice, TotalDiscount = detail.TotalDiscount, DiscountPercent = detail.DiscountPercent, DiscountPercent2 = detail.DiscountPercent2, DiscountPercent3 = detail.DiscountPercent3, TotalAmount = detail.TotalAmount }; //Subtract Sold Quantity autoPartDetail.Quantity -= detail.Quantity; } if (!string.IsNullOrWhiteSpace(model.PR)) { string[] PRs = model.PR.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in PRs) { PurchaseRequisition r = new PurchaseRequisition(); r.PRNumber = s; item.PurchaseRequisition.Add(r); } } if (!string.IsNullOrWhiteSpace(model.PO)) { string[] POs = model.PO.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in POs) { PurchaseOrder o = new PurchaseOrder(); o.PONumber = s; item.PurchaseOrder.Add(o); } } this.unitOfWork.Context.AddToSale(item); string action = string.Format("Added New Sale - {0}", item.InvoiceNumber); this.actionLogController.AddToLog(action, UserInfo.UserId); this.unitOfWork.SaveChanges(); } } catch (Exception ex) { throw ex; } }
private void PurchaseRequisitionPurchaseOrderAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; string _currSignCode = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { PurchaseRequisition _locPurchaseRequisitionOS = (PurchaseRequisition)_objectSpace.GetObject(obj); if (_locPurchaseRequisitionOS != null) { if (_locPurchaseRequisitionOS.Code != null) { _currObjectId = _locPurchaseRequisitionOS.Code; PurchaseOrder _locPurchaseOrderByPR = null; PurchaseOrder _locPurchaseOrderByPRandPH = null; PurchaseRequisition _locPurchaseRequisitionXPO = _currSession.FindObject <PurchaseRequisition> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId))); if (_locPurchaseRequisitionXPO != null) { if (_locPurchaseRequisitionXPO.Status == Status.Progress || _locPurchaseRequisitionXPO.Status == Status.Lock) { _locPurchaseOrderByPR = _currSession.FindObject <PurchaseOrder>(new GroupOperator(GroupOperatorType.And, new BinaryOperator("PurchaseRequisition", _locPurchaseRequisitionXPO))); if (_locPurchaseRequisitionXPO.ProjectHeader != null) { _locPurchaseOrderByPRandPH = _currSession.FindObject <PurchaseOrder>(new GroupOperator(GroupOperatorType.And, new BinaryOperator("PurchaseRequisition", _locPurchaseRequisitionXPO), new BinaryOperator("ProjectHeader", _locPurchaseRequisitionXPO.ProjectHeader))); } if (_locPurchaseOrderByPR == null && _locPurchaseOrderByPRandPH == null) { _currSignCode = _globFunc.GetNumberingSignUnlockOptimisticRecord(_currSession.DataLayer, ObjectList.PurchaseOrder); if (_currSignCode != null) { PurchaseOrder _saveDataPO = new PurchaseOrder(_currSession) { DirectionType = _locPurchaseRequisitionXPO.DirectionType, SignCode = _currSignCode, ProjectHeader = _locPurchaseRequisitionXPO.ProjectHeader, PurchaseRequisition = _locPurchaseRequisitionXPO, }; _saveDataPO.Save(); _saveDataPO.Session.CommitTransaction(); XPCollection <PurchaseRequisitionLine> _numLinePurchaseRequisitionLines = new XPCollection <PurchaseRequisitionLine>(_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("PurchaseRequisition", _locPurchaseRequisitionXPO))); PurchaseOrder _locPurchaseOrder2 = _currSession.FindObject <PurchaseOrder>(new GroupOperator(GroupOperatorType.And, new BinaryOperator("SignCode", _currSignCode))); if (_locPurchaseOrder2 != null) { if (_numLinePurchaseRequisitionLines != null && _numLinePurchaseRequisitionLines.Count > 0) { foreach (PurchaseRequisitionLine _numLinePurchaseRequisitionLine in _numLinePurchaseRequisitionLines) { if (_numLinePurchaseRequisitionLine.Status == Status.Progress || _numLinePurchaseRequisitionLine.Status == Status.Lock) { PurchaseOrderLine _saveDataPurchaseOrderLine = new PurchaseOrderLine(_currSession) { PurchaseType = _numLinePurchaseRequisitionLine.PurchaseType, Item = _numLinePurchaseRequisitionLine.Item, Description = _numLinePurchaseRequisitionLine.Description, MxDQty = _numLinePurchaseRequisitionLine.MxDQty, MxDUOM = _numLinePurchaseRequisitionLine.MxDUOM, MxQty = _numLinePurchaseRequisitionLine.MxQty, MxUOM = _numLinePurchaseRequisitionLine.MxUOM, MxTQty = _numLinePurchaseRequisitionLine.MxTQty, DQty = _numLinePurchaseRequisitionLine.DQty, DUOM = _numLinePurchaseRequisitionLine.DUOM, Qty = _numLinePurchaseRequisitionLine.Qty, UOM = _numLinePurchaseRequisitionLine.UOM, TQty = _numLinePurchaseRequisitionLine.TQty, PurchaseOrder = _locPurchaseOrder2, }; _saveDataPurchaseOrderLine.Save(); _saveDataPurchaseOrderLine.Session.CommitTransaction(); _numLinePurchaseRequisitionLine.ActivationPosting = true; _numLinePurchaseRequisitionLine.Status = Status.Posted; _numLinePurchaseRequisitionLine.StatusDate = now; _numLinePurchaseRequisitionLine.Save(); _numLinePurchaseRequisitionLine.Session.CommitTransaction(); } } } } } } } _locPurchaseRequisitionXPO.Status = Status.Posted; _locPurchaseRequisitionXPO.StatusDate = now; _locPurchaseRequisitionXPO.ActivationPosting = true; _locPurchaseRequisitionXPO.Save(); _locPurchaseRequisitionXPO.Session.CommitTransaction(); SuccessMessageShow("PO has successfully created"); } else { ErrorMessageShow("Data Purchase Order Not Available"); } } else { ErrorMessageShow("Data Purchase Order Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = PurchaseRequisition " + ex.ToString()); } }
private void Seed() { using (var context = new ProcurementDbContext(ContextOptions)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); var manager1 = new SiteManager { StaffId = "EMP1", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }; context.SiteManagers.Add(manager1); context.SiteManagers.Add(new SiteManager { StaffId = "EMP2", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.SiteManagers.Add(new SiteManager { StaffId = "EMP3", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.ManagementStaff.Add(new ManagementStaff { StaffId = "EMP11", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.ManagementStaff.Add(new ManagementStaff { StaffId = "EMP12", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.ManagementStaff.Add(new ManagementStaff { StaffId = "EMP13", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.AccountingStaff.Add(new AccountingStaff { StaffId = "EMP21", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.AccountingStaff.Add(new AccountingStaff { StaffId = "EMP22", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); context.AccountingStaff.Add(new AccountingStaff { StaffId = "EMP23", FirstName = "FirstName", LastName = "LastName", MobileNo = "0718956874" }); var site1 = new Site { SiteCode = "SITE001", SiteName = "SLIIT Campus Site", SiteAddress = "Malabe", Description = "Malabe SLIIT Campus working site", SiteOfficeNo = "0115489657", SiteManager = manager1 }; context.Sites.Add(site1); var supplier1 = new Supplier { SupplierCode = "SP1", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**" }; context.Supplier.Add(supplier1); context.Supplier.Add(new Supplier { SupplierCode = "SP2", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**" }); context.Supplier.Add(new Supplier { SupplierCode = "SP3", SupplierName = "MAS Holdings", Address1 = "Colombo 3", CompanyNo = "011548795", MobileNo = "077485698", Email = "*****@*****.**" }); var item1 = new Item { ItemId = "IT001", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets" }; var item2 = new Item { ItemId = "IT002", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets" }; var item3 = new Item { ItemId = "IT003", ItemName = "Roofing Sheets", ItemPrice = 200.20, Description = "Roof sheets" }; context.Items.Add(item1); context.Items.Add(item2); context.Items.Add(item3); var itemSupplier1 = new ItemSuppliers { Item = item1, Supplier = supplier1 }; var itemSupplier2 = new ItemSuppliers { Item = item2, Supplier = supplier1 }; var itemSupplier3 = new ItemSuppliers { Item = item3, Supplier = supplier1 }; context.Add(itemSupplier1); context.Add(itemSupplier2); context.Add(itemSupplier3); var requisition1 = new PurchaseRequisition { RequisitionNo = 1, ShippingAddress = "Malabe", TotalCost = 2000.00, Status = "Pending", SiteManager = manager1, Supplier = supplier1, Site = site1 }; context.PurchaseRequisitions.Add(requisition1); var requisitionItem1 = new PurchaseRequisitionItems { Item = item1, PurchaseRequisition = requisition1, ItemCount = 3 }; var requisitionItem2 = new PurchaseRequisitionItems { Item = item2, PurchaseRequisition = requisition1, ItemCount = 2 }; var requisitionItem3 = new PurchaseRequisitionItems { Item = item3, PurchaseRequisition = requisition1, ItemCount = 1 }; context.Add(requisitionItem1); context.Add(requisitionItem2); context.Add(requisitionItem3); var order1 = new PurchaseOrder { OrderReference = 1, ShippingAddress = "Malabe", TotalCost = 2000.00, OrderStatus = "IN PROCESS", SiteManager = manager1, Supplier = supplier1, Site = site1 }; context.PurchaseOrders.Add(order1); var orderItems1 = new PurchaseOrderItems { Item = item1, PurchaseOrder = order1, ItemCount = 3 }; var orderItems2 = new PurchaseOrderItems { Item = item2, PurchaseOrder = order1, ItemCount = 2 }; var orderItems3 = new PurchaseOrderItems { Item = item3, PurchaseOrder = order1, ItemCount = 1 }; context.Add(orderItems1); context.Add(orderItems2); context.Add(orderItems3); var enquiry1 = new Enquiry { EnquiryId = 1, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1 }; var enquiry2 = new Enquiry { EnquiryId = 2, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1 }; var enquiry3 = new Enquiry { EnquiryId = 3, Description = "Why order is late?", EnquiryStatus = "Pending", OrderReference = order1, SiteManager = manager1 }; context.Add(enquiry1); context.Add(enquiry2); context.Add(enquiry3); var delivery1 = new Delivery { DeliveryId = "DL001", OnSiteDelivery = true, DeliveryStatus = "On Process", IsFullDelivery = true, Site = site1, PurchaseOrder = order1 }; context.Deliveries.Add(delivery1); var goodsReceipt1 = new GoodsReceipt { ReceiptId = 1, PurchaseOrder = order1, Supplier = supplier1, Site = site1, Delivery = delivery1 }; context.GoodsReceipt.Add(goodsReceipt1); var invoice1 = new Invoice { InvoiceId = "INV001", NetAmount = 2000.00, Description = "Order 1 invoice", GoodsReceipt = goodsReceipt1, Supplier = supplier1, InvoiceStatus = "Payment Due" }; context.Invoice.Add(invoice1); context.SaveChanges(); } }