public static void delete(tbl_PurchaseOrder po) { RMSDBEntities db = DBContext.getInstance(); db.tbl_PurchaseOrder.Remove(po); db.SaveChanges(); }
public static void insert(tbl_PurchaseOrder po) { RMSDBEntities db = DBContext.getInstance(); db.tbl_PurchaseOrder.Add(po); db.SaveChanges(); }
public string SaveUpdatePurchaseOrder(PurchaseOrderModel model) { string msg = ""; ShomaRMEntities db = new ShomaRMEntities(); int userid = ShomaRM.Models.ShomaGroupWebSession.CurrentUser != null ? ShomaRM.Models.ShomaGroupWebSession.CurrentUser.UserID : 0; if (model.POID == 0) { var SavePurchaseOrder = new tbl_PurchaseOrder() { PropertyID = model.PropertyID, OrderNumber = model.OrderNumber, Vendor = model.Vendor, PODesc = model.PODesc, PODate = model.PODate, TotalAmount = model.TotalAmount, Route = model.Route, ApprovedDate = model.ApprovedDate, ApprovedBy = model.ApprovedBy, CanceledDate = model.CanceledDate, CanceledBy = model.CanceledBy, CreatedBy = userid, CreatedDate = Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy")) }; db.tbl_PurchaseOrder.Add(SavePurchaseOrder); db.SaveChanges(); msg = "Purchase Order Save Successfully"; } else { var UpdatePurchaseOrder = db.tbl_PurchaseOrder.Where(co => co.POID == model.POID).FirstOrDefault(); if (UpdatePurchaseOrder != null) { UpdatePurchaseOrder.PropertyID = model.PropertyID; UpdatePurchaseOrder.OrderNumber = model.OrderNumber; UpdatePurchaseOrder.Vendor = model.Vendor; UpdatePurchaseOrder.PODesc = model.PODesc; UpdatePurchaseOrder.TotalAmount = model.TotalAmount; UpdatePurchaseOrder.Route = model.Route; UpdatePurchaseOrder.ApprovedDate = model.ApprovedDate; UpdatePurchaseOrder.ApprovedBy = model.ApprovedBy; UpdatePurchaseOrder.CanceledDate = model.CanceledDate; UpdatePurchaseOrder.CanceledBy = model.CanceledBy; db.SaveChanges(); msg = "Purchase Order Updated Successfully"; } } db.Dispose(); return(msg); }
public JsonResult ThemPhieuXuat(Order order, List <OrderDetail> orderdetails) { var tblorder = new tbl_PurchaseOrder { SysHotelID = CommService.GetHotelId(), CreatorID = CommService.GetUserId(), DateCreated = DateTime.Now, Status = 1, SupplierID = 0, OrderCode = order.SoPhieu, SupplierCode = order.SoChungTu, InputDate = Share.Todate(order.NgayNhapHD), DatePayment = Share.Todate(order.NgayChungTu), TypeOrder = 2 }; List <tbl_PurchaseOrderDetail> listDetail = new List <tbl_PurchaseOrderDetail>(); foreach (var item in orderdetails) { listDetail.Add(new tbl_PurchaseOrderDetail { SysHotelID = CommService.GetHotelId(), item = item.ProductName, catalogitemid = item.CateId, catalogitem = item.CateName, DateCreated = DateTime.Now, CreatorID = CommService.GetUserId(), quantity = item.Quantity, itemid = item.ProductId, StoreID = order.StoreId, Price = item.Price, ManufactureDate = Share.Todate(item.NgaySanXuat), ExpirationDate = Share.Todate(item.HanSuDung), }); } var msg = ""; var rs = service.Xuatkho(tblorder, listDetail, ref msg); if (string.IsNullOrEmpty(msg)) { msg = "Tạo phiếu lỗi"; } return(Json(new { ResponseCode = (rs ? "01" : "00"), Message = (rs ? "Tạo phiếu thành công" : msg) }, JsonRequestBehavior.AllowGet)); return(null); }
public JsonResult GetPOByDocID(string DOCID) { tbl_PurchaseOrder PO = TransactionBL.GetOrderByDocID(DOCID); return(Json(new { PostingDate = PO.PostingDate.Value.ToString("dd/MM/yyyy"), VendorID = PO.VendorID }, JsonRequestBehavior.AllowGet)); }
public void AcceptPO(Dictionary <string, string> dictPO, string docid) { tbl_PurchaseOrder PO = Context.PurchaseOrder.Get(e => e.DocumentID == docid && e.POStatus == "Open").FirstOrDefault(); List <tbl_PurchaseOrder_Detail> lstPODetail = Context.PurchaseOrderDetail.Get(e => e.DocumentID == docid).ToList(); bool isChanged = false; tbl_StockReceive stockRecieve = new tbl_StockReceive(); stockRecieve.DocumentID = docid; stockRecieve.PONumber = docid; stockRecieve.CompanyID = PO.CompanyID; stockRecieve.LocationID = PO.LocationID; stockRecieve.StorageID = PO.StorageID; stockRecieve.DocumentDate = PO.DocumentDate; stockRecieve.PostingDate = PO.PostingDate; stockRecieve.VendorID = PO.VendorID; stockRecieve.Amount = PO.Amount; stockRecieve.Discount = PO.Discount; stockRecieve.NetValue = PO.NetValue; stockRecieve.UserID = PO.UserID; stockRecieve.AddDate = PO.AddDate; stockRecieve.Dataid = PO.Dataid; Context.StockReceive.Insert(stockRecieve); Context.StockReceive.Save(); foreach (tbl_PurchaseOrder_Detail POD in lstPODetail) { decimal qty = Convert.ToDecimal(dictPO[POD.MaterialID]); if (POD.TranQty != qty) { isChanged = true; } tbl_StockReceive_Detail srd = new tbl_StockReceive_Detail(); srd.DocumentID = POD.DocumentID; srd.CompanyID = POD.CompanyID; srd.LocationID = POD.LocationID; srd.StorageID = POD.StorageID; srd.DocumentDate = POD.DocumentDate; srd.PostingType = POD.PostingType; srd.PostingDate = POD.PostingDate; srd.VendorID = POD.VendorID; srd.Counter = POD.Counter; srd.CategoryID = POD.CategoryID; srd.MaterialID = POD.MaterialID; srd.UOM = POD.UOM; srd.TranQty = qty; srd.BaseQty = qty; srd.CreditQty = POD.CreditQty; srd.Cost = POD.Cost; srd.DiscountRate = POD.DiscountRate; srd.Amount = POD.Amount; srd.CreditAmount = POD.CreditAmount; srd.UserID = POD.UserID; srd.PostKey = POD.PostKey; srd.AddDate = DateTime.Now; srd.UpdDate = DateTime.Now; srd.Dataid = POD.Dataid; srd.OrderQty = qty; Context.StockReceiveDetail.Insert(srd); } Context.StockReceiveDetail.Save(); if (isChanged) { PO.POStatus = "Pending"; } else { PO.POStatus = "Complete"; } Context.PurchaseOrder.Update(PO); Context.PurchaseOrder.Save(); }
public tbl_PurchaseOrder GetOrderByDocID(string docid) { tbl_PurchaseOrder PO = Context.PurchaseOrder.Get(e => e.DocumentID == docid).FirstOrDefault(); return(PO); }
public PurchaseOrderViewModel AddPurchaseOrder(PurchaseOrderViewModel entity) { var data = new tbl_PurchaseOrder { PurchaseOrderId = entity.purchaseOrderId, PurchaseOrderCode = reference.ConfirmReferenceNo((int)ReferenceTypesEnum.PurchaseOrder, 1), OrderedDate = DateTime.Now, VendorId = entity.vendorId, IsActive = entity.isActive, CreatedOn = DateTime.Now, CreatedBy = "admin", ModifiedOn = DateTime.Now, ModifiedBy = "admin" }; context.tbl_PurchaseOrder.Add(data); List <tbl_PurchaseOrderDetail> lstdetails = new List <tbl_PurchaseOrderDetail>();; foreach (var item in entity.details) { if (item.quantity > 0) { var details = new tbl_PurchaseOrderDetail { CostPrice = item.costPrice, Quantity = item.quantity, PurchaseOrderId = data.PurchaseOrderId, ProductId = item.productId, ModifiedBy = entity.createdBy, ModifiedOn = DateTime.Now, PurchaseOrderDetailId = item.purchaseOrderDetailId, }; lstdetails.Add(details); } } context.tbl_PurchaseOrderDetail.AddRange(lstdetails); //foreach (var items in entity.details) //{ //var duplicate = context.tbl_PurchaseOrderDetail.Where(c => c.PurchaseOrderDetailId >= 1).SingleOrDefault(); //if (lstdetails != null) { // //var duplicate = from c in context.tbl_PurchaseOrderDetail // // join d in context.tbl_Stock on c.PurchaseOrderDetailId equals d.PurchaseOrderDetailId // // where c.PurchaseOrderDetailId == d.PurchaseOrderDetailId // // select new tbl_Stock // // { // // ProductId = c.ProductId, // // QuantitySupplied = c.Quantity, // // SellingPrice = c.CostPrice // // }; // //var duplicate = context.tbl_PurchaseOrderDetail.Where(c => c.PurchaseOrderDetailId >= 1).SingleOrDefault(); // var ven = new tbl_Stock // { // ProductId = duplicate.ProductId, // PurchaseOrderDetailId = duplicate.PurchaseOrderDetailId, // QuantitySupplied = duplicate.Quantity, // //SellingPrice // }; // context.tbl_Stock.Add(ven); //} ////} context.SaveChanges(); return(entity); }
public bool Xuatkho(tbl_PurchaseOrder order, List <tbl_PurchaseOrderDetail> orderDetails, ref string msg) { using (var db = _connectionData.OpenDbConnection()) { // using (var ts = new TransactionScope()) var tran = db.OpenTransaction(); { try { order.Id = Convert.ToInt32(db.Insert(order, true)); foreach (var item in orderDetails) { item.PurchaseID = order.Id; } db.InsertAll(orderDetails); //Cập nhật tồn kho: //Group theo StoreId var storeIds = orderDetails.Select(p => p.StoreID).Distinct().ToList(); foreach (var storeId in storeIds) { var orderByStore = orderDetails.Where(p => p.StoreID == storeId); //Group theo sản phẩm var productGroup = orderByStore.GroupBy(p => p.itemid, (key, g) => new { ProductId = key, Total = g.Sum(p => p.quantity) }); foreach (var item in productGroup) { var product = db.Select <tbl_Product>( p => p.SysHotelID == CommService.GetHotelId() && p.Id == item.ProductId) .FirstOrDefault(); var existItem = db.Select <tbl_StoreProduct>( p => p.productid == item.ProductId && p.storeid == storeId).FirstOrDefault(); if (existItem == null || existItem.quantity < item.Total) { msg = "Tạo phiếu không thành công. Sản phẩm " + product.Name + " không đủ hàng"; tran.Rollback(); return(false); } else { var log = new tbl_StoreProductLog { typeImportExport = 2, SysHotelID = CommService.GetHotelId(), datecreated = DateTime.Now, storeid = storeId, productid = item.ProductId, storeproductid = existItem.Id, unitid = product.UnitID, quantity = item.Total, }; db.Insert(log); existItem.quantity = existItem.quantity - item.Total; db.Update(existItem); } } } tran.Commit(); return(true); } catch (Exception) { tran.Rollback(); return(false); } } } }