private static List<SpecialIE> SIEParts(string key, SpecialIEType type) { List<SpecialIE> parts = HttpContext.Current.Session[key + type.ToString()] as List<SpecialIE>; if (parts == null) { parts = new List<SpecialIE>(); HttpContext.Current.Session[key + type.ToString()] = parts; } return parts; }
/// <summary> /// append one part to parts list /// </summary> /// <param name="partCode"></param> /// <param name="type"></param> /// <param name="pType"></param> /// <param name="key"></param> public static void Append(string partCode, SpecialIEType type, string pType, string key) { List<SpecialIE> parts = SIEParts(key, type); SpecialIE part = parts.SingleOrDefault(p => p.PartNo == partCode && p.PartType == pType); if (part == null) { parts.Add(new SpecialIE() { PartKey = Guid.NewGuid(), PartNo = partCode, PartType = pType, UnitPrice = PartInfoDAO.GetPrice(partCode, pType), }); } }
/// <summary> /// update part information (in memory) /// </summary> /// <param name="key"></param> /// <param name="type"></param> /// <param name="partKey"></param> /// <param name="partNo"></param> /// <param name="partType"></param> /// <param name="vendorId"></param> /// <param name="qty"></param> /// <param name="unitPrice"></param> /// <param name="remark"></param> public static void UpdatePart(string key, SpecialIEType type, object partKey, string partNo, string partType, long? vendorId, int? qty, int? unitPrice, string remark) { SpecialIE part = SIEParts(key, type).SingleOrDefault(p => p.PartKey == (Guid)partKey); if (part != null) { if (partNo != null) part.PartNo = partNo; if (vendorId != null) part.VendorId = (long)vendorId; if (qty != null) part.Quantity = (int)qty; if (remark != null) part.Remark = remark; if (partType != null) part.PartType = partType; if (unitPrice != null) part.UnitPrice = (int)unitPrice; part.State = SIE_ItemState.New; } }
/// <summary> /// append several parts to IE parts list /// </summary> /// <param name="RowCount"></param> /// <param name="type"></param> /// <param name="key"></param> public static void Append(int RowCount, SpecialIEType type, string key) { List<SpecialIE> parts = SIEParts(key, type); for (int i = 0; i < RowCount; i++) { parts.Add(new SpecialIE() { PartKey = Guid.NewGuid() }); } }