public ActionResult AddIngredient(ReceiptNoteModels data) { ReceiptNoteModels model = new ReceiptNoteModels(); if (data.ListItem != null && data.ListItem.Count > 0) { foreach (var item in data.ListItem) { var ProIngre = new ReceiptNoteIngredient() { IngredientId = item.IngredientId, IngredientCode = item.IngredientCode, IngredientName = item.IngredientName, Description = item.Description, Qty = (item.Qty == 0) ? 1 : item.Qty, // Receiving Quantity BaseUOMId = item.BaseUOMId }; //===================== var lstItem = _UOMFactory.GetDataUOMRecipe(item.IngredientId).ToList(); if (lstItem != null) { foreach (UnitOfMeasureModel uom in lstItem) { ProIngre.ListUOM.Add(new SelectListItem { Text = uom.Name, Value = uom.Id, //Selected = uom.Id.Equals(ProIngre.BaseUOMId) ? true : false }); } } //========= model.ListItem.Add(ProIngre); } } return(PartialView("_ListItem", model)); }
public ActionResult LoadIngredient(ReceiptNoteModels data) { IngredientFactory IngFactory = new IngredientFactory(); //Get Data from Client List <ReceiptNoteIngredient> listReceiptNoteIngre = listReceiptNoteIngre = data.ListItem; ReceiptNoteModels model = new ReceiptNoteModels(); //var m_CompanyIds = GetListCompany().Select(x => x.Value).ToList(); //var listIng = new List<IngredientModel>(); //if (m_CompanyIds.Count > 0) // listIng = IngFactory.GetIngredient("").Where(x => m_CompanyIds.Contains(x.CompanyId)).ToList(); //else // listIng = IngFactory.GetIngredient("").ToList(); ////==== Only get list Ingredients of the company of Receipt Note Store var lstStoreInfo = (List <StoreModels>)ViewBag.StoreID.Items; var compId = lstStoreInfo.Where(w => w.Id == data.StoreId).Select(s => s.CompanyId).FirstOrDefault(); var listIng = new List <IngredientModel>(); if (!string.IsNullOrEmpty(compId)) { listIng = _IngredientFactory.GetIngredient("").Where(x => x.CompanyId == compId).ToList(); if (listIng != null && listIng.Any()) { listIng = listIng.Where(x => x.IsActive == true && !x.IsSelfMode).ToList(); foreach (var item in listIng) { var ProIngre = new ReceiptNoteIngredient() { BaseUOM = item.BaseUOMName, IngredientId = item.Id, IngredientCode = item.Code, IngredientName = item.Name, Description = item.Description, //=======Set Qty Qty = listReceiptNoteIngre.Where(x => x.IngredientId.Equals(item.Id)).FirstOrDefault() == null ? 1 : listReceiptNoteIngre.FirstOrDefault(x => x.IngredientId.Equals(item.Id)).Qty, //=====Set UOM: Priority| ReceivingUOM -> BaseUOM BaseUOMId = listReceiptNoteIngre.Where(x => x.IngredientId.Equals(item.Id)).FirstOrDefault() != null ? listReceiptNoteIngre.FirstOrDefault(x => x.IngredientId.Equals(item.Id)).BaseUOMId : item.ReceivingUOMId, //=======Set Ing Select IsSelect = listReceiptNoteIngre.Any(x => x.IngredientId.Equals(item.Id)) }; var lstItem = _UOMFactory.GetDataUOMRecipe(item.Id).ToList(); if (lstItem != null) { foreach (UnitOfMeasureModel uom in lstItem) { ProIngre.ListUOM.Add(new SelectListItem { Text = uom.Name, Value = uom.Id, //Selected = uom.Id.Equals(ProIngre.BaseUOMId) ? true : false }); } //=====Reset UOM from BaseUOM If lstItemUOM not ReceivingUOM var isExists = lstItem.Exists(z => z.Id.Equals(ProIngre.BaseUOMId)); if (!isExists) { ProIngre.BaseUOMId = item.BaseUOMId; } } //====== model.ListItem.Add(ProIngre); } model.ListItem = model.ListItem.OrderByDescending(x => x.IsSelect ? 1 : 0).ThenBy(x => x.IngredientName).ToList(); } } return(PartialView("_TableChooseIngredient", model)); }