public IList <DetailAssetInRequestDto> GetEditDetails(Guid inRequestId, Guid cellarId) { IList <DetailAssetInRequestDto> detail = new List <DetailAssetInRequestDto>(); var @entity = _inRequestManager.GetEditDetails(inRequestId).ToList(); if (@entity == null) { throw new UserFriendlyException("No se pudo encontrar la Ubicación, fue borrada o no existe."); } int index = 0; foreach (var item in @entity) { DetailAssetInRequestDto detailItem = new DetailAssetInRequestDto(); detailItem.Asset = item.Asset; detailItem.NameAsset = item.NameAsset; detailItem.InRequestId = item.InRequestId; detailItem.StockAsset = item.StockAsset; detailItem.AssetId = item.AssetId; detailItem.AssetCode = item.Asset.Code; detailItem.Price = item.Price.ToString(); detailItem.Index = index; detailItem.Update = 1; detailItem.Saved = 1; detailItem.Delete = 0; detailItem.ErrorCode = 0; detailItem.ErrorDescription = ""; detail.Add(detailItem); index++; } return(detail); }
public ActionResult AddAndRenderListDetallesOrden(IList <string> jsonDetallesList, Guid?assetId, string nameAsset, double?stockAsset, string price) { try { IEnumerable <DetailAssetInRequestDto> detalleList = new JavaScriptSerializer().Deserialize <IList <DetailAssetInRequestDto> >(jsonDetallesList[0]); if (assetId == null) { return(Json(new { Error = -1, Message = "Por Favor seleccione el artículo correctamente." })); } if (stockAsset == null || stockAsset < 0) { return(Json(new { Error = -1, Message = "Por Favor indique la cantidad del artículo correctamente." })); } if (detalleList.Any(item => item.AssetId == assetId && item.Delete == 0)) { return(Json(new { Error = -1, Message = "Ya existe una salida para el artículo" + nameAsset + " por favor edite correctamente el detalle." })); } DetailAssetInRequestDto detalle = new DetailAssetInRequestDto(); detalle.AssetId = (Guid)assetId; detalle.NameAsset = nameAsset; if (stockAsset > 0.0) { detalle.StockAsset = (double)stockAsset; } else { return(Json(new { Error = -1, Message = "Por Favor indique la cantidad del artículo correctamente." })); } detalle.Price = price; detalle.Saved = 0; detalle.Update = 1; detalle.Delete = 0; detalle.ErrorDescription = ""; detalle.ErrorCode = 0; IList <DetailAssetInRequestDto> newList = new List <DetailAssetInRequestDto>(); int index = 0; foreach (var item in detalleList) { item.Index = index; newList.Add(item); index++; } detalle.Index = index; newList.Add(detalle); return(PartialView("_tableDetails", newList)); } catch (Exception) { return(Json(new { Error = -1, Message = "Error al Agregar/Modificar la Solicitud" })); } }
public ActionResult AddListDetallesOrden(IList <string> jsonDetallesList, string code) { try { IEnumerable <DetailAssetInRequestDto> detalleList = new JavaScriptSerializer().Deserialize <IList <DetailAssetInRequestDto> >(jsonDetallesList[0]); IList <DetailAssetInRequestDto> newList = new List <DetailAssetInRequestDto>(); var asset = _inRequestService.GetAssetBarCode(code, _currentUser.CompanyName); if (asset == null) { return(Json(new { Error = -1, Message = "No se ha encontrado un artículo con este código de barra" })); } // var stock = _inRequestService.GetStockAsset(asset.Id, _currentUser.CompanyName, cellarId); bool cambio = false; if (detalleList.Any(item => item.AssetId == asset.Id && item.Delete == 0)) { cambio = true; int index = 0; foreach (var item in detalleList) { if (item.AssetId == asset.Id) { item.StockAsset = item.StockAsset + 1; //if (item.StockAsset > stock.GetStockItemsQtyBlocked()) // return Json(new { Error = -1, Message = "No hay suficientes artículos en Ubicación seleccionada. Por Favor revise las existencias." }); } item.Index = index; newList.Add(item); index++; } } if (!cambio) { DetailAssetInRequestDto detalle = new DetailAssetInRequestDto(); detalle.AssetId = asset.Id; detalle.NameAsset = asset.Name; detalle.StockAsset = 1; detalle.Price = asset.Price.ToString(); detalle.Saved = 0; detalle.Update = 1; detalle.Delete = 0; detalle.ErrorDescription = ""; detalle.ErrorCode = 0; int index = 0; foreach (var item in detalleList) { item.Index = index; newList.Add(item); index++; } detalle.Index = index; newList.Add(detalle); } return(PartialView("_tableDetails", newList)); } catch (Exception ex) { return(Json(new { Error = -1, Message = "Error al Agregar/Modificar la Solicitud" })); } }