private PurchaseOrderDetail getEntityByModel(PurchaseOrderDetailModel model)
        {
            if (model == null) return null;

            PurchaseOrderDetail entity = new PurchaseOrderDetail();

            if (model.Id == 0)
            {
                entity.CreateBy = AuthenticationHelper.UserId;
                entity.CreateDate = DateTime.Now;
            }
            else
            {
                entity.CreateBy = model.CreateBy;
                entity.CreateDate = model.CreateDate;
            }

            entity.CreateBy = model.CreateBy;
            entity.CreateDate = model.CreateDate;
            entity.Id = model.Id;
            entity.ItemId = model.ItemId;
            entity.NeedByDate = model.NeedByDate;
            entity.POId = model.POId;
            entity.Price = model.Price;
            entity.Quantity = model.Quantity;
            entity.UpdateBy = model.UpdateBy;
            entity.UpdateDate = model.UpdateDate;

            return entity;
        }
 public ActionResult UpdatePartial(PurchaseOrderDetailModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).CreateBy = model.CreateBy;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).CreateDate = model.CreateDate;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Id = model.Id;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).ItemId = model.ItemId;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).NeedByDate = model.NeedByDate;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).POId = model.POId;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Price = model.Price;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).Quantity = model.Quantity;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).UpdateBy = model.UpdateBy;
             SessionHelper.PurchaseOrder.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id).UpdateDate = model.UpdateDate;
         }
         catch (Exception e)
         {
             ViewData["EditError"] = e.Message;
         }
     }
     else
         ViewData["EditError"] = "Please, correct all errors.";
     return PartialView("_Detail", getPODetail());
 }
        public ActionResult DeletePartial(PurchaseOrderDetailModel model)
        {
            try
            {
                PurchaseOrderModel po = SessionHelper.PurchaseOrder;
                PurchaseOrderDetailModel poDetail = po.PurchaseOrderDetail.FirstOrDefault(rec => rec.Id == model.Id);
                SessionHelper.PurchaseOrder.PurchaseOrderDetail.Remove(poDetail);
            }
            catch (Exception ex)
            {
                ViewData["EditError"] = ex.Message;
            }

            return PartialView("_Detail", getPODetail());
        }
        public ActionResult AddNewPartial(PurchaseOrderDetailModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (SessionHelper.PurchaseOrder != null)
                    {
                        if (SessionHelper.PurchaseOrder.PurchaseOrderDetail != null && SessionHelper.PurchaseOrder.PurchaseOrderDetail.Count() > 0)
                            model.Id = SessionHelper.PurchaseOrder.PurchaseOrderDetail.LastOrDefault().Id + 1;
                        else
                            model.Id = 1;
                    }
                    else
                        model.Id = 1;

                    SessionHelper.PurchaseOrder.PurchaseOrderDetail.Add(model);
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
                ViewData["EditError"] = "Please, correct all errors.";
            return PartialView("_Detail", getPODetail());
        }