public ActionResult Edit(Guid id)
        {
            CreateAdjustmentInput viewModel = new CreateAdjustmentInput();

            try
            {
                viewModel = _adjustmentsService.GetEdit(id);
                DateTime date;
                viewModel.TypeAdjustmentValue = (int)viewModel.TypeAdjustment;
                if (viewModel.AssetsReturnDate != null)
                {
                    date = new DateTime(viewModel.AssetsReturnDate.Value.Year, viewModel.AssetsReturnDate.Value.Month, viewModel.AssetsReturnDate.Value.Day);
                    viewModel.AssetsReturnDateString = date.ToString("yyyy-MM-dd");
                }

                viewModel.DetailsAdjustment = _adjustmentsService.GetEditDetails(id, viewModel.CellarId);
                viewModel.IsEdit            = true;
                viewModel.CompanyName       = _currentUser.CompanyName;
                viewModel.Cellars           = _adjustmentsService.GetAllCellars(_currentUser.CompanyName);

                viewModel.ErrorCode        = 0;
                viewModel.ErrorDescription = "";
            }
            catch (Exception e)
            {
                viewModel.ErrorCode        = -1;
                viewModel.ErrorDescription = "Error al obtener datos.";
            }
            return(View("_edit", viewModel));
        }
        public ActionResult Create(IList <string> entity)
        {
            CreateAdjustmentInput viewModel = new CreateAdjustmentInput();

            try
            {
                viewModel = JsonConvert.DeserializeObject <CreateAdjustmentInput>(entity[0]);
                //if (string.IsNullOrEmpty(viewModel.RequestDocumentNumber))
                //{ return Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe tener un numero de solicitud fisica." }); }

                if (viewModel.DetailsAdjustment == null || !viewModel.DetailsAdjustment.Any())
                {
                    return(Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe tener algún detalle de artículos." }));
                }

                if (viewModel.CellarId == Guid.Empty)
                {
                    return(Json(new { ErrorCode = -1, ErrorDescription = "La solicitud debe llevar un Ubicación." }));
                }

                if (ModelState.IsValid)
                {
                    viewModel.CreatorGuidId = _currentUser.CurrentUserId;
                    viewModel.CompanyName   = _currentUser.CompanyName; //importante
                    _adjustmentsService.Create(viewModel);
                    ModelState.Clear();
                    return(Json(new { ErrorCode = 1, ErrorDescription = "Solicitud guardada exitosamente." }));
                }
                return(Json(new { ErrorCode = -1, ErrorDescription = "Error al guardar la solicitud, verifique los datos." }));
            }
            catch (Exception e)
            {
                return(Json(new { ErrorCode = -1, ErrorDescription = e.Message }));
            }
        }
Ejemplo n.º 3
0
        public void Create(CreateAdjustmentInput input)
        {
            if (_adjustmentManager.AdjustmentExist(input.RequestDocumentNumber, input.Id, input.CompanyName))
            {
                throw new UserFriendlyException("Existe una solicitud con el mismo numero de Solicitud Fisica.");
            }
            TypeAdjustment temp = (TypeAdjustment)input.TypeAdjustmentValue;


            var requestNumber = GetNextRequestNumber(input.CompanyName);

            var @entityAdjustment = Adjustment.Create(requestNumber, requestNumber.ToString(), input.Notes,
                                                      input.CellarId, AdjustmentStatus.Active, temp, input.CreatorGuidId.Value, _dateTime.Now, input.PersonInCharge, input.CompanyName);

            IList <Detail> @details = new List <Detail>();


            foreach (var item in input.DetailsAdjustment)
            {
                var @entityDetail = Detail.Create(null, null, @entityAdjustment.Id, item.AssetId, item.NameAsset, item.StockAsset, item.Price,
                                                  input.CreatorGuidId.Value, _dateTime.Now, input.CompanyName);
                @details.Add(@entityDetail);
            }

            _adjustmentManager.Create(@entityAdjustment, @details);
        }
        //// GET: Adjustments/Create
        public ActionResult Create()
        {
            CreateAdjustmentInput viewModel = new CreateAdjustmentInput();

            viewModel.IsEdit = false;
            try
            {
                //viewModel.NoRequest = _solicitudMovimientoService.GetNextNoSolicitudMovimiento();
                viewModel.RequestNumber = _adjustmentsService.GetNextRequestNumber(_currentUser.CompanyName);
                viewModel.CompanyName   = _currentUser.CompanyName;
                viewModel.Status        = AdjustmentStatus.Active;

                //viewModel.TypeAdjustmentValue = (int)TypeAdjustment.Asset;
                //viewModel.TypeAdjustment = TypeAdjustment.Asset;

                viewModel.DetailsAdjustment = new List <DetailAssetAdjustmentDto>();
                viewModel.Cellars           = _adjustmentsService.GetAllCellars(_currentUser.CompanyName);
                viewModel.CellarId          = viewModel.Cellars.FirstOrDefault().Id;
                viewModel.ErrorCode         = 0;
                viewModel.ErrorDescription  = "";
            }

            catch (Exception e)
            {
                viewModel.ErrorCode        = -1;
                viewModel.ErrorDescription = "Error al obtener datos.";
            }
            return(View("_create", viewModel));
        }
Ejemplo n.º 5
0
        public void Update(CreateAdjustmentInput input)
        {
            var @entity       = _adjustmentRepository.Get(input.Id);
            var @entityDetail = _adjustmentManager.GetEditDetails(input.Id).ToList();

            if (@entity == null)
            {
                throw new UserFriendlyException("No se pudo encontrar la Bodega, fue borrada o no existe.");
            }
            if (_adjustmentManager.AdjustmentExist(@entity.RequestDocumentNumber, input.Id, input.CompanyName))
            {
                throw new UserFriendlyException("Existe una Bodega con el mismo Nombre.");
            }
            IList <Detail> newDetails    = new List <Detail>();
            IList <Detail> updateDetails = new List <Detail>();

            //@entity.RequestDocumentNumber = ;
            @entity.TypeAdjustment       = (TypeAdjustment)input.TypeAdjustmentValue;
            @entity.LastModificationTime = _dateTime.Now;
            @entity.LastModifierUserId   = input.CreatorUserId;
            @entity.PersonInCharge       = input.PersonInCharge;

            foreach (var item in input.DetailsAdjustment)
            {
                if (@entityDetail.Exists(a => a.AssetId == item.AssetId))
                {
                    var @updateEntity = @entityDetail.FirstOrDefault(a => a.AssetId == item.AssetId);
                    if (item.Delete == 1)
                    {
                        if (item.Saved == 1)
                        {
                            @updateEntity.IsDeleted = true;
                            updateDetails.Add(@updateEntity);
                        }
                    }
                    else if (item.Update == 1)
                    {
                        @updateEntity.Price                = item.Price;
                        @updateEntity.NameAsset            = item.NameAsset;
                        @updateEntity.StockAsset           = item.StockAsset;
                        @updateEntity.LastModificationTime = _dateTime.Now;
                        @updateEntity.LastModifierUserId   = input.CreatorUserId;
                        updateDetails.Add(@updateEntity);
                    }
                }
                else
                {
                    var @createDetail = Detail.Create(null, null, input.Id, item.AssetId, item.NameAsset, item.StockAsset, item.Price,
                                                      input.CreatorUserId, _dateTime.Now, input.CompanyName);
                    newDetails.Add(@createDetail);
                }
            }
            _adjustmentManager.Update(@entity, newDetails, updateDetails);
        }