public static ItemModel GetItemByPoid(int poid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; item item = new item(); purchaseorderdetail podet = new purchaseorderdetail(); ItemModel im = new ItemModel(); try { podet = entities.purchaseorderdetails.Where(p => p.poid == poid).FirstOrDefault <purchaseorderdetail>(); item = podet.item; im = CovertDBItemtoAPIItem(item); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(im); }
//Create new PurchaseOrder public static PurchaseOrderDetailModel CreatePurchaseOrderDetail(PurchaseOrderDetailModel podm, out string error) { error = ""; LUSSISEntities entities = new LUSSISEntities(); purchaseorderdetail pod = new purchaseorderdetail(); try { pod.poid = podm.PoId; pod.itemid = podm.Itemid; pod.qty = podm.Qty; pod.delivqty = podm.DelivQty; pod.price = podm.Price; entities.purchaseorderdetails.Add(pod); entities.SaveChanges(); podm = GetPurchaseOrderDetailByIDAndItemID(pod.poid, pod.itemid, out error); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(podm); }
//find Purchase Order detail by id and itemid public static PurchaseOrderDetailModel GetPurchaseOrderDetailByIDAndItemID(int poid, int itemid, out string error) { LUSSISEntities entities = new LUSSISEntities(); error = ""; purchaseorderdetail pod = new purchaseorderdetail(); PurchaseOrderDetailModel podm = new PurchaseOrderDetailModel(); try { pod = entities.purchaseorderdetails.Where(a => a.poid == poid && a.itemid == itemid).FirstOrDefault <purchaseorderdetail>(); podm = ConvertDBtoAPIPOModel(pod); } catch (NullReferenceException) { error = ConError.Status.NOTFOUND; } catch (Exception e) { error = e.Message; } return(podm); }
// Convert From Auto Generated DB Model to APIModel private static PurchaseOrderDetailModel ConvertDBtoAPIPOModel(purchaseorderdetail pod) { PurchaseOrderDetailModel pom = new PurchaseOrderDetailModel(pod.poid, pod.itemid, pod.item.description, pod.qty, pod.delivqty, pod.item.category.name, pod.item.uom, pod.price); return(pom); }