コード例 #1
0
 public ActionResult Create(DataEntryModels model)
 {
     try
     {
         model.CreatedBy    = CurrentUser.UserName;
         model.ModifierBy   = CurrentUser.UserName;
         model.CreatedDate  = DateTime.Now;
         model.ModifierDate = DateTime.Now;
         model.EntryDate    = model.CreatedDate;
         //model.BusinessId = model.BusinessId;
         model.IsActived = true;
         //var lst
         model.ListItem = model.ListItem.Where(ww => ww.Damage > 0 || ww.Wast > 0 || ww.OrderQty > 0).ToList();
         string msg    = "";
         bool   result = _factory.Insert(model, false, ref msg);
         if (result)
         {
             return(RedirectToAction("Index"));
         }
         else
         {
             ModelState.AddModelError("StoreId", msg);
             return(View("Create"));
         }
     }
     catch (Exception ex)
     {
         _logger.Error("DataEntry_Create: " + ex);
         return(new HttpStatusCodeResult(400, ex.Message));
     }
 }
コード例 #2
0
ファイル: DataEntryFactory.cs プロジェクト: ttcp112/FJ
        public bool Update(DataEntryModels model, ref string msg)
        {
            bool         result       = true;
            ResultModels resultModels = new ResultModels();

            using (NuWebContext cxt = new NuWebContext())
            {
                using (var transaction = cxt.Database.BeginTransaction())
                {
                    try
                    {
                        var itemUpdate = (from tb in cxt.I_DataEntry
                                          where tb.Id == model.Id
                                          select tb).FirstOrDefault();

                        itemUpdate.ModifierBy   = model.ModifierBy;
                        itemUpdate.ModifierDate = model.ModifierDate;
                        itemUpdate.IsActived    = model.IsActived;

                        //Detail
                        //Check item insert
                        var lstDetailId = model.ListItem.Select(ss => ss.Id).ToList();
                        if (lstDetailId != null && lstDetailId.Count > 0)
                        {
                            var lstDetailUpdate = cxt.I_DataEntryDetail.Where(ww => lstDetailId.Contains(ww.Id)).ToList();
                            foreach (var item in model.ListItem)
                            {
                                var obj = lstDetailUpdate.Where(ww => ww.Id == item.Id).FirstOrDefault();
                                if (obj != null)
                                {
                                    obj.Damage   = item.Damage;
                                    obj.Wastage  = item.Wast;
                                    obj.OrderQty = item.OrderQty;
                                    obj.Reasons  = item.Reasons;
                                }
                            }
                        }

                        cxt.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        _logger.Error(ex);
                        result = false;
                        transaction.Rollback();
                    }
                    finally
                    {
                        if (cxt != null)
                        {
                            cxt.Dispose();
                        }
                    }
                }
            }

            return(result);
        }
コード例 #3
0
 public DataEntryModels GetDetail(string id)
 {
     try
     {
         DataEntryModels model = _factory.GetDataEntryById(id);
         model.StoreName = lstStore.Where(x => x.Value.Equals(model.StoreId)).FirstOrDefault().Text;
         return(model);
     }
     catch (Exception ex)
     {
         _logger.Error("DataEntry_Detail: " + ex);
         return(null);
     }
 }
コード例 #4
0
        public ActionResult LoadIngredient(string storeId)
        {
            DataEntryModels model   = new DataEntryModels();
            var             listIng = _InventoryFactory.LoadIngredientForDataEntry(storeId);

            foreach (var item in listIng)
            {
                model.ListItem.Add(new DataEntryDetailModels
                {
                    IngredientId   = item.Id,
                    IngredientName = item.Name,
                    IngredientCode = item.Code,
                    Damage         = 0,
                    Wast           = 0,
                    OrderQty       = 0,
                    Reasons        = "",
                });
            }
            return(PartialView("_ListItemNew", model));
        }
コード例 #5
0
        public ActionResult Edit(DataEntryModels model)
        {
            try
            {
                if (string.IsNullOrEmpty(model.StoreId))
                {
                    ModelState.AddModelError("Store", CurrentUser.GetLanguageTextFromKey("Store field is required"));
                }
                //if (string.IsNullOrEmpty(model.BusinessId))
                //    ModelState.AddModelError("Apply Date", "Apply Date field is required");
                if (!ModelState.IsValid)
                {
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(PartialView("_Edit", model));
                }

                model.IsActived    = true;
                model.ModifierBy   = CurrentUser.UserName;
                model.ModifierDate = DateTime.Now;
                string msg    = "";
                bool   result = _factory.Update(model, ref msg);
                if (result)
                {
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("StoreId", msg);
                    //return View("Create");
                    return(PartialView("_Edit", model));
                }
            }
            catch (Exception ex)
            {
                _logger.Error("Edit DataEntry: " + ex);
                return(new HttpStatusCodeResult(400, ex.Message));
            }
        }
コード例 #6
0
        public ActionResult Create()
        {
            DataEntryModels model = new DataEntryModels();

            return(View(model));
        }
コード例 #7
0
        /*Delete*/
        public PartialViewResult Delete(string id)
        {
            DataEntryModels model = _factory.GetDataEntryWithoutDetailById(id);

            return(PartialView("_Delete", model));
        }
コード例 #8
0
        public PartialViewResult Edit(string id)
        {
            DataEntryModels model = GetDetail(id);

            return(PartialView("_Edit", model));
        }
コード例 #9
0
ファイル: DataEntryFactory.cs プロジェクト: ttcp112/FJ
        public bool Insert(DataEntryModels model, bool isAutoCreate, ref string msg)
        {
            bool         result       = true;
            ResultModels resultModels = new ResultModels();

            using (NuWebContext cxt = new NuWebContext())
            {
                using (var transaction = cxt.Database.BeginTransaction())
                {
                    try
                    {
                        string dataEntryId = string.Empty;

                        I_DataEntry item = new I_DataEntry();

                        item.Id           = Guid.NewGuid().ToString();
                        dataEntryId       = item.Id;
                        item.EntryCode    = CommonHelper.GetGenNo(Commons.ETableZipCode.DataEntry, model.StoreId);
                        item.EntryDate    = model.EntryDate;
                        item.StoreId      = model.StoreId;
                        item.CreatedBy    = model.CreatedBy;
                        item.CreatedDate  = model.CreatedDate;
                        item.ModifierBy   = model.ModifierBy;
                        item.ModifierDate = model.ModifierDate;
                        item.IsActived    = model.IsActived;

                        //Detail
                        List <I_DataEntryDetail> listDetailInsert = new List <I_DataEntryDetail>();
                        I_DataEntryDetail        itemDetail       = null;

                        foreach (var detail in model.ListItem)
                        {
                            itemDetail              = new I_DataEntryDetail();
                            itemDetail.Id           = Guid.NewGuid().ToString();
                            itemDetail.DataEntryId  = item.Id;
                            itemDetail.IngredientId = detail.IngredientId;
                            itemDetail.Damage       = detail.Damage;
                            itemDetail.Wastage      = detail.Wast;
                            itemDetail.OrderQty     = detail.OrderQty;
                            itemDetail.Reasons      = detail.Reasons;

                            listDetailInsert.Add(itemDetail);
                        }

                        cxt.I_DataEntry.Add(item);
                        cxt.I_DataEntryDetail.AddRange(listDetailInsert);
                        cxt.SaveChanges();
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        _logger.Error(ex);
                        result = false;
                        transaction.Rollback();
                    }
                    finally
                    {
                        if (cxt != null)
                        {
                            cxt.Dispose();
                        }
                    }
                }
            }
            return(result);
        }