private static MoveOrderDetail GetEntityByModel(MoveOrderDetailModel model, int count)
        {
            if (model == null) return null;

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

            entity.DateRequired = model.DateRequired;
            entity.Id = model.Id;
            entity.ItemId = model.ItemId;
            entity.LocatorId = model.LocatorId;
            entity.LotNo = model.LotNo;
            entity.MoveOrderId = model.MoveOrderId;
            entity.Quantity = model.Quantity;
            entity.SerialNo = model.SerialNo;
            entity.UpdateBy = AuthenticationHelper.UserId;
            entity.UpdateDate = DateTime.Now;
            entity.WarehouseId = model.WarehouseId;
            return entity;
        }
        private static LotNumber GetLotEntityByMoveOrderModel(MoveOrderDetailModel model, int count)
        {
            if (model == null) return null;

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

            entity.CompanyId = AuthenticationHelper.CompanyId.Value;
            entity.Id = model.Id;
            entity.ItemId = model.ItemId;
            entity.LotNo = model.LotNo;
            entity.SOBId = SessionHelper.SOBId;
            entity.SourceId = model.MoveOrderId;
            entity.SourceType = "Move Order";
            entity.UpdateBy = AuthenticationHelper.UserId;
            entity.UpdateDate = DateTime.Now;
            return entity;
        }
        private static SerialNumber GetSerialEntityByMoveOrderModel(MoveOrderDetailModel model, int count)
        {
            if (model == null) return null;

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

            entity.Id = model.Id;
            entity.LotNo = model.LotNo;
            entity.SerialNo = model.SerialNo;
            entity.UpdateBy = AuthenticationHelper.UserId;
            entity.UpdateDate = DateTime.Now;
            return entity;
        }
 public static string InsertSerialNumber(MoveOrderDetailModel entity)
 {
     return service.InsertSerialNum(GetSerialEntityByMoveOrderModel(entity, 0));
 }
 public static string Insert(MoveOrderDetailModel entity)
 {
     return service.Insert(GetLotEntityByMoveOrderModel(entity, 0));
 }
        public ActionResult AddNewPartial(MoveOrderDetailModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    bool validated = false;
                    //Daterequired validation..
                    //Warehouse validation..
                    //Locator validation..
                    if (SessionHelper.MoveOrder != null)
                    {
                        if (SessionHelper.MoveOrder.MoveOrderDetail.Any(rec => rec.LotNo == model.LotNo && rec.ItemId == model.ItemId))
                        {
                            ViewData["EditError"] = "Lot Number must be unique";
                            return PartialView("createPartial", MoveOrderHelper.GetMoveOrderLines());
                        }
                        if (SessionHelper.MoveOrder.MoveOrderDetail.Any(rec => rec.LotNo == model.LotNo && rec.SerialNo == model.SerialNo))
                        {
                            ViewData["EditError"] = "Serial Number must be unique";
                            return PartialView("createPartial", MoveOrderHelper.GetMoveOrderLines());
                        }
                    }
                    if (LotNumberHelper.CheckLotNumAvailability(model.LotNo, model.ItemId, SessionHelper.SOBId).Any())
                    {
                        ViewData["EditError"] = "Lot Number must be unique";
                        return PartialView("createPartial", MoveOrderHelper.GetMoveOrderLines());
                    }
                    //if (LotNumberHelper.CheckSerialNumAvailability(model.LotNo, model.SerialNo).Any())
                    //{
                    //    ViewData["EditError"] = "Serial Number must be unique";
                    //    return PartialView("createPartial", MoveOrderHelper.GetMoveOrderLines());
                    //}
                    if (SessionHelper.MoveOrder != null)
                    {
                        model.Id = SessionHelper.MoveOrder.MoveOrderDetail.Count() + 1;
                        validated = true;
                    }
                    else
                        model.Id = 1;

                    if (validated)
                        MoveOrderHelper.InsertMoveOrderDetail(model);
                }
                catch (Exception e)
                {
                    ViewData["EditError"] = e.Message;
                }
            }
            else
                ViewData["EditError"] = "Please, correct all errors.";
            return PartialView("createPartial", MoveOrderHelper.GetMoveOrderLines());
        }
 public ActionResult DeletePartial(MoveOrderDetailModel model)
 {
     if (ModelState.IsValid)
     {
         try
         {
             MoveOrderModel moveOrder = SessionHelper.MoveOrder;
             MoveOrderHelper.DeleteMoveOrderDetail(model);
             SessionHelper.MoveOrder = moveOrder;
             IList<MoveOrderDetailModel> moveOrderDetail = MoveOrderHelper.GetMoveOrderLines();
             return PartialView("createPartial", moveOrderDetail);
         }
         catch (Exception e)
         {
             ViewData["EditError"] = e.Message;
         }
     }
     else
         ViewData["EditError"] = "Please, correct all errors.";
     return PartialView("createPartial");
 }
 public static void DeleteMoveOrderDetail(MoveOrderDetailModel model)
 {
     MoveOrderModel moveOrder = SessionHelper.MoveOrder;
     MoveOrderDetailModel moveOrderDetail = moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id);
     moveOrder.MoveOrderDetail.Remove(moveOrderDetail);
 }
        public static void UpdateMoveOrderDetail(MoveOrderDetailModel model)
        {
            MoveOrderModel moveOrder = SessionHelper.MoveOrder;

            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).DateRequired = model.DateRequired;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).Id = model.Id;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).ItemId = model.ItemId;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).LocatorId = model.LocatorId;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).LotNo = model.LotNo;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).MoveOrderId = model.MoveOrderId;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).Quantity = model.Quantity;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).SerialNo = model.SerialNo;
            moveOrder.MoveOrderDetail.FirstOrDefault(x => x.Id == model.Id).WarehouseId = model.WarehouseId;
        }
 public static void InsertMoveOrderDetail(MoveOrderDetailModel model)
 {
     MoveOrderModel moveOrder = SessionHelper.MoveOrder;
     moveOrder.MoveOrderDetail.Add(model);
 }