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));
        }
예제 #3
0
        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);
        }
예제 #5
0
        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
            }));
        }
예제 #6
0
        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);
 }
예제 #13
0
        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
            }));
        }
예제 #14
0
        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);
        }
예제 #18
0
        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);
        }
예제 #20
0
        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;
            }
        }
예제 #21
0
        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());
            }
        }
예제 #22
0
        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;
            }
        }
예제 #23
0
        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());
            }
        }
예제 #24
0
        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();
            }
        }