예제 #1
0
        public JsonResult PurchaseUpdate(IEnumerable <VMUpdatePO> AddedDetItems, int?[] DeleteItems, int ProcPurchaseMasterId, string PONo, DateTime PODate, int VendorId, int TenderId, string VendorAttention, string AttnManager, string AttnCell, string Email, string Subject, int LeadTime, string Content, string RcvConcernPerson, string RcvConcernPersonCell, decimal POTotalAmt)
        {
            var result = new
            {
                flag    = false,
                message = "Updating error !"
            };
            var flag = false;

            if (DeleteItems != null)
            {
                foreach (var i in DeleteItems)
                {
                    var delteItem     = db.Proc_PurchaseOrderDet.SingleOrDefault(x => x.ItemId == i && x.Proc_PurchaseOrderMasId == ProcPurchaseMasterId);
                    var purchaseDetId = db.Proc_PurchaseOrderDet.Find(delteItem.Id);
                    db.Proc_PurchaseOrderDet.Remove(purchaseDetId);
                    db.SaveChanges();
                }
            }



            var master = db.Proc_PurchaseOrderMas.Find(ProcPurchaseMasterId);

            master.Proc_TenderMasId      = TenderId;
            master.PONo                  = PONo;
            master.PODate                = PODate;
            master.VendorId              = VendorId;
            master.OrderTo               = VendorAttention;
            master.Attention             = AttnManager;
            master.AttnCell              = AttnCell;
            master.AttnEmail             = Email;
            master.Subject               = Subject;
            master.LeadTime              = LeadTime;
            master.Content               = Content;
            master.RecvConcernPerson     = RcvConcernPerson;
            master.RecvConcernPersonCell = RcvConcernPersonCell;
            master.POTotalAmt            = POTotalAmt;

            db.Entry(master).State = EntityState.Modified;
            flag = db.SaveChanges() > 0;
            var PurchaseMasId = master.Id;

            if (flag)
            {
                foreach (var item in AddedDetItems)
                {
                    var check = db.Proc_PurchaseOrderDet.FirstOrDefault(x => x.Proc_PurchaseOrderMasId == PurchaseMasId /*&& x.Id== ProcPurchaseDetId*/);
                    if (check == null)
                    {
                        Proc_PurchaseOrderDet detail = new Proc_PurchaseOrderDet();
                        detail.ItemId = item.ItemId;
                        detail.Proc_PurchaseOrderMasId = item.ProcPurchaseMasterId;
                        detail.POAmt           = item.TotalPrice;
                        detail.POQty           = item.POQuantity;
                        db.Entry(detail).State = EntityState.Added;
                        db.SaveChanges();
                    }
                    else
                    {
                        var Proc_PurchaseDet_Id = db.Proc_PurchaseOrderDet.FirstOrDefault(x => x.Proc_PurchaseOrderMasId == PurchaseMasId);
                        var getItem             = db.Proc_PurchaseOrderDet.Find(Proc_PurchaseDet_Id.Id);
                        getItem.POAmt           = item.TotalPrice;
                        getItem.POQty           = item.POQuantity;
                        db.Entry(getItem).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
            }
            if (flag == true)
            {
                result = new
                {
                    flag    = true,
                    message = "Save Successful!"
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public JsonResult PurchaseCreateOrder(IEnumerable <VMPurchaseOrder> AddedDetItems, string PONo, DateTime PODate, int VendorId, int TenderId, string VContactPerson, string ProjectManager, string AttnCell, string Email, string Subject, int LeadTime, string Content, string RcvConcenPerson, string RcvPersonCell, decimal POTotalAmt)
        {
            var result = new
            {
                flag    = false,
                message = "Purchase order saving error !"
            };
            var flag = false;



            var orderList = db.Proc_PurchaseOrderMas.Where(x => x.PONo.Trim() == PONo.Trim()).ToList();

            if (orderList.Count == 0)
            {
                flag = false;
                Proc_PurchaseOrderMas master = new Proc_PurchaseOrderMas();
                master.Proc_TenderMasId      = TenderId;
                master.PONo                  = PONo;
                master.PODate                = PODate;
                master.VendorId              = VendorId;
                master.LeadTime              = LeadTime;
                master.OrderTo               = ProjectManager;
                master.Attention             = VContactPerson;
                master.AttnCell              = AttnCell;
                master.AttnEmail             = Email;
                master.Subject               = Subject;
                master.Content               = Content;
                master.RecvConcernPerson     = RcvConcenPerson;
                master.RecvConcernPersonCell = RcvPersonCell;
                master.POTotalAmt            = POTotalAmt;

                db.Proc_PurchaseOrderMas.Add(master);
                //db.SaveChanges();
                flag = db.SaveChanges() > 0;

                var PurchaseOrderId = master.Id;
                foreach (var item in AddedDetItems)
                {
                    Proc_PurchaseOrderDet detail = new Proc_PurchaseOrderDet();


                    detail.Proc_PurchaseOrderMasId = PurchaseOrderId;
                    detail.ItemId = item.ItemId;
                    detail.POQty  = item.POQuantity;
                    detail.POAmt  = item.TotalPrice;


                    db.Proc_PurchaseOrderDet.Add(detail);
                    //db.SaveChanges();
                    flag = db.SaveChanges() > 0;
                }
            }

            if (flag == true)
            {
                result = new
                {
                    flag    = true,
                    message = "Save Successful!"
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }