public ActionResult ViewSNContent_Update(TStockInputViewModel model)
        {
            if (model != null)
            {
                JmInventoryTStockViewModel vm;
                JmInventoryTStock          stock;
                JmInventoryTTransDet       det = _IJmInventoryTTransDetTasks.One(model.TransDetId);
                bool isInsert = false;
                for (int i = 0; i < model.Stocks.Count; i++)
                {
                    vm    = model.Stocks[i];
                    stock = _tasks.One(vm.StockId);;

                    if (stock != null)
                    {
                        stock.ModifiedDate = DateTime.Now;
                        stock.ModifiedBy   = User.Identity.Name;
                        stock.DataStatus   = EnumDataStatus.Updated.ToString();
                        isInsert           = false;
                    }
                    else
                    {
                        stock = new JmInventoryTStock();
                        stock.SetAssignedIdTo(Guid.NewGuid().ToString());
                        stock.CreatedDate = DateTime.Now;
                        stock.CreatedBy   = User.Identity.Name;
                        stock.DataStatus  = EnumDataStatus.New.ToString();
                        isInsert          = true;
                    }
                    stock.StockOrderNo   = vm.StockOrderNo;
                    stock.StockSn        = vm.StockSn;
                    stock.StockInTransId = model.TransDetId;
                    stock.StockInDate    = DateTime.Now;
                    stock.ProductId      = det.ProductId;
                    if (isInsert)
                    {
                        _tasks.Insert(stock);
                    }
                    else
                    {
                        _tasks.Update(stock);
                    }
                }
            }
            return(PartialView(model));
        }
        public ActionResult InputSN(string EditTransId)
        {
            TStockInputViewModel vm = new TStockInputViewModel();

            if (string.IsNullOrEmpty(EditTransId))
            {
                ///for first load, save first, to handle detail form input
                string           newId  = Guid.NewGuid().ToString();
                JmInventoryTTran entity = new JmInventoryTTran();
                entity.SetAssignedIdTo(newId);
                vm.TransId = newId;
                vm.Stocks  = new List <JmInventoryTStockViewModel>();
                _IJmInventoryTTranTasks.Insert(entity);
            }
            else
            {
                JmInventoryTTran trans = this._IJmInventoryTTranTasks.One(EditTransId);

                vm.SupplierId   = trans.SupplierId != null ? trans.SupplierId.Id : string.Empty;
                vm.SupplierName = trans.SupplierId != null ? trans.SupplierId.SupplierName : string.Empty;

                JmInventoryMSupplierViewModel supplierVm = new JmInventoryMSupplierViewModel();
                if (trans.SupplierId != null)
                {
                    supplierVm.SupplierId   = trans.SupplierId.Id;
                    supplierVm.SupplierName = trans.SupplierId.SupplierName;
                }
                //vm.SupplierIdForEdit = supplierVm;

                vm.TransNo   = trans.TransNo;
                vm.TransDate = trans.TransDate;
                //TransType = entity.TransType;
                vm.TransStatus       = trans.TransStatus;
                vm.TransApprovedBy   = trans.TransApprovedBy;
                vm.TransApprovedDate = trans.TransApprovedDate;
                vm.TransInputBy      = trans.TransInputBy;
                vm.TransInputDate    = trans.TransInputDate;
                vm.InvoiceNo         = trans.InvoiceNo;
                vm.TransDesc         = trans.TransDesc;
                vm.TransId           = trans.Id;
                vm.Stocks            = new List <JmInventoryTStockViewModel>();
            }
            return(View(vm));
        }
        public ActionResult ViewSNContent(string EditTransDetId)
        {
            TStockInputViewModel vm = new TStockInputViewModel();

            vm.TransDetId = EditTransDetId;

            JmInventoryTTransDet det = _IJmInventoryTTransDetTasks.One(EditTransDetId);
            List <JmInventoryTStockViewModel> liststockvm = new List <JmInventoryTStockViewModel>();

            if (det != null)
            {
                IEnumerable <JmInventoryTStock> stocks = this._tasks.GetListByTransDetId(det.Id);
                string productname = det.ProductId.ProductName;
                if (stocks.Count() > 0)
                {
                    var stocksvm = from s in stocks
                                   select new JmInventoryTStockViewModel
                    {
                        StockSn       = s.StockSn,
                        ProductIdName = productname,
                        StockId       = s.Id,
                        StockOrderNo  = s.StockOrderNo
                    };
                    liststockvm = stocksvm.ToList();
                }
                else
                {
                    JmInventoryTStockViewModel stock;
                    for (int i = 0; i < det.TransDetQty; i++)
                    {
                        stock               = new JmInventoryTStockViewModel();
                        stock.StockId       = Guid.NewGuid().ToString();
                        stock.StockSn       = string.Empty;
                        stock.ProductIdName = productname;
                        stock.StockOrderNo  = (i + 1);
                        liststockvm.Add(stock);
                    }
                }
            }
            vm.Stocks = liststockvm;
            return(PartialView(vm));
        }