public PartInputItem(ReceiveDetail rd) { this.PartCode = rd.PartCode; this.Comment = rd.DealerComment; this.InputDate = rd.ReceiveHeader.ReceiveDate; this.OrderQuantity = rd.OrderQuantity; #warning change from Quotation to ShippingQuantity this.Quotation = rd.ShippingQuantity; this.Good = rd.GoodQuantity; this.Broken = rd.BrokenQuantity; this.Lack = rd.LackQuantity; this.Wrong = rd.WrongQuantity; this.Amount = this.UnitPrice * (this.Good + this.Broken + this.Wrong + this.Lack); }
public AbnormalReceiveDetail(ReceiveDetail rd, string eng, string vn) { this.BrokenQuantity = rd.BrokenQuantity; this.EnglishName = eng; this.GoodQuantity = rd.GoodQuantity; this.LackQuantity = rd.LackQuantity; this.OrderQuantity = rd.OrderQuantity; this.PartCode = rd.PartCode; #warning change from Quotation to ShippingQuantity this.Quotation = rd.ShippingQuantity; this.ReceiveDetailId = rd.ReceiveDetailId; this.VietNamName = vn; this.WrongQuantity = rd.WrongQuantity; if (rd.ReceiveHeaderId > 0) NotGoodNumber = rd.ReceiveHeader.NotGoodNumber; }
private void detach_ReceiveDetails(ReceiveDetail entity) { this.SendPropertyChanging(); entity.ReceiveHeader = null; }
private void attach_ReceiveDetails(ReceiveDetail entity) { this.SendPropertyChanging(); entity.OrderHeader = this; }
/// <summary> /// Do the auto receive /// </summary> /// <param name="IssueNumber">The issue number</param> public static void AutoReceive(string IssueNumber) { var db = DCFactory.GetDataContext<PartDataContext>(); var rd = new List<ReceiveDetail>(); var list = db.IShippings.Where(p => p.IssueNumber == IssueNumber).ToList(); var oh = db.OrderHeaders.Single(p => p.OrderHeaderId == list[0].VDMSOrderId); // collect data var rh = new ReceiveHeader { DealerCode = oh.ToDealer, HasUndo = false, IsAutomatic = true, IsLocked = false, IssueNumber = IssueNumber, OrderHeaderId = oh.OrderHeaderId, ReceiveDate = DateTime.Now, WarehouseId = oh.ToLocation }; foreach (var item in list) { if (item.ShippingQuantity != 0) { var od = db.OrderDetails.FirstOrDefault(p => p.OrderHeaderId == oh.OrderHeaderId && p.PartCode == item.PartCode); if (od == null) continue; var rcvd = new ReceiveDetail { BrokenQuantity = 0, DealerComment = string.Empty, GoodQuantity = item.ShippingQuantity, LackQuantity = 0, OrderHeaderId = oh.OrderHeaderId, OrderQuantity = od.OrderQuantity, PartCode = item.PartCode, ShippingQuantity = item.ShippingQuantity, WrongQuantity = 0, ReceiveHeader = rh }; rd.Add(rcvd); } } db.ReceiveHeaders.InsertOnSubmit(rh); db.SubmitChanges(); // update current inventory, inventory day rd.ForEach(p => { PartDAO.StockAdjust(p.PartCode, "P", oh.ToDealer, oh.ToLocation, null, DateTime.Now, InventoryAction.NormalImport, p.UnitPrice * p.GoodQuantity, p.GoodQuantity, p.DealerComment, string.Empty, null); }); db.SubmitChanges(); //// update has in stock flag //oh.AlreadyInStock = true; //oh.AutoInStockDate = DateTime.Now; //oh.Status = OrderStatus.OrderClosedNormal; //db.SubmitChanges(); }
bool GetData() { var r = true; var WarehouseId = OrderDAO.GetOrderHeader(OrderId).ToLocation; foreach (var row1 in lv.Items) { var issue = ((Label)row1.FindControl("litIssue")).Text; var ngnumber = ((Label)row1.FindControl("litNGNumber")).Text; if (!string.IsNullOrEmpty(ngnumber)) receiveNG = true; var lvItems = (ListView)row1.FindControl("lvItems"); if (lvItems.Enabled == false) continue; var hId = (long)lv.DataKeys[row1.DataItemIndex].Value; if (hId == 0) { rHeader.Add(new ReceiveHeader { ReceiveHeaderId = hId, IssueNumber = issue, NotGoodNumber = ngnumber, OrderHeaderId = OrderId, DealerCode = UserHelper.DealerCode, WarehouseId = WarehouseId, ReceiveDate = DateTime.Now, IsLocked = false, IsAutomatic = false, HasUndo = false, HasNGForm = false }); } foreach (var row in lvItems.Items) { var s = int.Parse(((Literal)row.FindControl("litSQ")).Text); var q = int.Parse(((Literal)row.FindControl("litQQ")).Text); var g = int.Parse(((TextBox)row.FindControl("t1")).Text.Length == 0 ? "0" : ((TextBox)row.FindControl("t1")).Text); var b = int.Parse(((TextBox)row.FindControl("t2")).Text.Length == 0 ? "0" : ((TextBox)row.FindControl("t2")).Text); var w = int.Parse(((TextBox)row.FindControl("t3")).Text.Length == 0 ? "0" : ((TextBox)row.FindControl("t3")).Text); var l = int.Parse(((TextBox)row.FindControl("t4")).Text.Length == 0 ? "0" : ((TextBox)row.FindControl("t4")).Text); var c = ((TextBox)row.FindControl("t5")).Text; if (s != g + b + w + l || (s != g && string.IsNullOrEmpty(c))) { ((HtmlTableRow)row.FindControl("tr")).Attributes["class"] = "error"; r = false; } else ((HtmlTableRow)row.FindControl("tr")).Attributes["class"] = row.DataItemIndex % 2 == 0 ? "event" : "old"; if (s != g) receiveOk = false; var tr = (HtmlTableRow)row.FindControl("tr"); var dId = (long)lvItems.DataKeys[row.DataItemIndex].Value; var detail = new ReceiveDetail { ReceiveDetailId = dId, GoodQuantity = g, BrokenQuantity = b, WrongQuantity = w, LackQuantity = l, DealerComment = c, OrderHeaderId = OrderId, PartCode = tr.Cells[0].InnerText.Trim(), ShippingQuantity = s, ReceiveHeader = hId == 0 ? rHeader[rHeader.Count - 1] : null, IssueNumber = issue, EnglishName = tr.Cells[1].InnerText.Trim(), VietnamName = ((Literal)row.FindControl("litVN")).Text, UnitPrice = int.Parse(tr.Cells[4].InnerText.Trim()) }; if (rowChanged.Contains(dId) || dId == 0) rDetail.Add(detail); } } return r && rHeader.Count > 0; }