public ActionResult CreatePurchaseRequestItem(long purchaseRequestId)
        {
            //need to get purchaseRequest here to assign to new purchaseRequestItem
            //so when mapping to Model, we will have StoreId as defined
            //in AutoMapper configuration
            var purchaseRequest     = _purchaseRequestRepository.GetById(purchaseRequestId);
            var maxSequence         = purchaseRequest.PurchaseRequestItems.Max(p => p.Sequence) ?? 0;
            var purchaseRequestItem = new PurchaseRequestItem
            {
                IsNew           = true,
                PurchaseRequest = purchaseRequest,
                Sequence        = maxSequence + 1
            };

            _purchaseRequestItemRepository.Insert(purchaseRequestItem);

            this._dbContext.SaveChanges();

            var model = new PurchaseRequestItemModel();

            model = purchaseRequestItem.ToModel();
            var html = this.PurchaseRequestItemPanel(model);

            return(Json(new { Id = purchaseRequestItem.Id, Html = html }));
        }
 public ActionResult SavePurchaseRequestItem(PurchaseRequestItemModel model)
 {
     if (ModelState.IsValid)
     {
         var purchaseRequestItem = _purchaseRequestItemRepository.GetById(model.Id);
         //always set IsNew to false when saving
         purchaseRequestItem.IsNew = false;
         purchaseRequestItem       = model.ToEntity(purchaseRequestItem);
         _purchaseRequestItemRepository.UpdateAndCommit(purchaseRequestItem);
         return(new NullJsonResult());
     }
     else
     {
         return(Json(new { Errors = ModelState.Errors().ToHtmlString() }));
     }
 }
        public string PurchaseRequestItemPanel(PurchaseRequestItemModel model)
        {
            var html = this.RenderPartialViewToString("_LineItemDetails", model);

            return(html);
        }