public ActionResult AddAndRenderListDetallesOrden(IList <string> jsonDetallesList, Guid?assetId, string nameAsset, double?stockAsset, double?price)
        {
            try
            {
                IEnumerable <DetailAssetAdjustmentDto> detalleList = new JavaScriptSerializer().Deserialize <IList <DetailAssetAdjustmentDto> >(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 (price == null || price < 0)
                {
                    return(Json(new { Error = -1, Message = "Por Favor indique el precio de costo 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." }));
                }

                DetailAssetAdjustmentDto detalle = new DetailAssetAdjustmentDto();
                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            = (double)price;
                detalle.Saved            = 0;
                detalle.Update           = 1;
                detalle.Delete           = 0;
                detalle.ErrorDescription = "";
                detalle.ErrorCode        = 0;

                IList <DetailAssetAdjustmentDto> newList = new List <DetailAssetAdjustmentDto>();
                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" }));
            }
        }
Example #2
0
        public IList <DetailAssetAdjustmentDto> GetEditDetails(Guid outRequestId, Guid cellarId)
        {
            IList <DetailAssetAdjustmentDto> detail = new List <DetailAssetAdjustmentDto>();
            var @entity = _adjustmentManager.GetEditDetails(outRequestId).ToList();

            if (@entity == null)
            {
                throw new UserFriendlyException("No se pudo encontrar la Bodega, fue borrada o no existe.");
            }
            int index = 0;

            foreach (var item in @entity)
            {
                DetailAssetAdjustmentDto detailItem = new DetailAssetAdjustmentDto();
                detailItem.Asset            = item.Asset;
                detailItem.NameAsset        = item.NameAsset;
                detailItem.AdjustmentId     = item.AdjustmentId;
                detailItem.StockAsset       = item.StockAsset;
                detailItem.AssetId          = item.AssetId;
                detailItem.AssetCode        = item.Asset.Code;
                detailItem.Price            = item.Price;
                detailItem.Index            = index;
                detailItem.Update           = 1;
                detailItem.Saved            = 1;
                detailItem.Delete           = 0;
                detailItem.ErrorCode        = 0;
                detailItem.ErrorDescription = "";
                detail.Add(detailItem);
                index++;
            }
            return(detail);
        }