public void PuedoRegistrarLaSalidaDeProductoCompuesto()
        {
            var ensaladaConG = ProductoCompuestoMother.CrearProductoCompuestoComplejo();

            _productoRepository.Add(ensaladaConG);
            _productoRepository.AddRange(ensaladaConG.ProductosEnInventario);
            _dbContext.SaveChanges();
            var request   = new SalidaProductoRequest("Compuesto", ensaladaConG.Codigo, 1);
            var resultado = _registrarSalidaProductoService.Handle(request);

            Assert.AreEqual("se registro la salida de 1 Ensalada Con Gaseosa", resultado);
        }
        public string Handle(EntradaProductoRequest request)
        {
            var producto = _productoRepository.FindFirstOrDefault(p => p.Codigo == request.Codigo);
            var response = "";

            if (producto != null)
            {
                response = producto.RegistrarEntradaProducto(request.Cantidad);
                _productoRepository.Update(producto);
                _unitOfWork.Commit();
                return(response);
            }
            producto = TipoProducto.CrearProducto(request);
            response = producto.RegistrarEntradaProducto(request.Cantidad);
            if (response.Contains("Error"))
            {
                return(response);
            }
            try
            {
                _productoRepository.Add(producto);
                response = $"Se registro la entrada del producto {producto.Nombre} con una cantidad de {producto.Cantidad}";
            }
            catch (Exception e)
            {
                return("no se pudo guardar");
            }
            _unitOfWork.Commit();
            return(response);
        }
Example #3
0
        public ActionResult Create(ProductoEdicionVM vm)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                repo.Add(vm.Edicion);
                repo.save();
                return(RedirectToAction(nameof(Index)));
            }
            catch
            {
                return(View());
            }
        }
Example #4
0
 public Producto Add(Producto entity)
 {
     try
     {
         return(repository.Add(entity));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
Example #5
0
 public IActionResult Post(Producto producto)
 {
     try
     {
         _productoRepositorio.Add(producto);
         return(Ok());
     }
     catch (Exception)
     {
         return(NoContent());
     }
 }
Example #6
0
 public ProductoController
 (
     IUnitOfWork unitOfWork,
     IProductoRepository productoRepository)
 {
     _unitOfWork         = unitOfWork;
     _productoRepository = productoRepository;
     if (!_productoRepository.consultarProductoCompuestos().Any())
     {
         _productoRepository.Add(ProductoCompuestoMother.CrearProducto());
         unitOfWork.Commit();
     }
 }
        public async Task <ServerResponse> Add(Producto entity)
        {
            LOGGER.LogDebug(Constantes.FORMATO_LOGGER_DEBUG_VOID, nameof(Add));
            try
            {
                var productoGuardado = await productoRepository.Add(entity);

                return(Utilerias.GenerarRespuestaCorrecta(productoGuardado));
            }
            catch (Exception ex)
            {
                return(Utilerias.GenerarRespuestaExcepcion(ex, entity));
            }
        }
        public Task Handle(RegistrarProductoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.CompletedTask);
            }

            var oproducto = new Producto();
            var producto  = oproducto.RegistrarProducto(request);

            productoRepository.Add(producto);

            if (Commit())
            {
                Bus.RaiseEvent(new ProductoRegisteredEvent(producto.Id, producto.Nombre, producto.Descripcion));
            }

            return(Task.CompletedTask);
        }
Example #9
0
 public ActionResult SaveItem(Producto item)
 {
     try
     {
         item.Estatus = true;
         if (item.ProductoID > 0)
         {
             _productoRepository.Update(item);
         }
         else
         {
             _productoRepository.Add(item);
         }
         return(RedirectToAction("Index"));
     }
     catch (Exception)
     {
         return(View("AddEditItem"));
     }
 }
Example #10
0
        public async Task <IActionResult> Create([Bind("IdCategoria,Nombre,Descripcion,Foto,Stock,CantidadMinima,PrecioCosto,PrecioVenta,FechaVencimiento,UnidadMedida,AlarmaActivada")] ProductoViewModel producto)
        {
            if (!(await trabajadorRepository.EsJefe()).Item2)
            {
                return(Unauthorized("No tiene permisos para ver este contenido."));
            }
            if (ModelState.IsValid)
            {
                var p = await productoRepository.Add(producto);

                if (producto.Foto != null)
                {
                    using (MemoryStream m = new())
                    {
                        producto.Foto.CopyTo(m);
                        await servicesAWSS3.SubirFotoProducto(m, p);
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["IdCategoria"] = new SelectList(await categoriaRepository.GetAll(), "IdCategoria", "Nombre", producto.IdCategoria);
            return(View(producto));
        }
Example #11
0
        //PROPIEDADES//VALIDACIONES//MODELO DE VISTA


        public string SaveChanges()
        {
            string message = null;

            try
            {
                var productoDataModel = new Producto();
                productoDataModel.Codigo_producto = Codigo_producto;
                productoDataModel.NombreComercial = NombreComercial;
                productoDataModel.Descripcion     = Descripcion;
                productoDataModel.UsoTerapeutico  = UsoTerapeutico;
                productoDataModel.Precio          = Precio;

                productoDataModel.Existencia     = Existencia;
                productoDataModel.IdTipo         = IdTipo;
                productoDataModel.IdRubro        = IdRubro;
                productoDataModel.IdPresentacion = IdPresentacion;

                productoDataModel.Concentracion = Concentracion;
                productoDataModel.Laboratorio   = Laboratorio;
                productoDataModel.Reseta        = Reseta;

                productoDataModel.Estado           = Estado;
                productoDataModel.FechaRegistro    = FechaRegistro;
                productoDataModel.FechaVencimiento = FechaVencimiento;
                productoDataModel.FechaElaboracion = FechaElaboracion;



                switch (state)
                {
                case EntityState.Added:
                {
                    productoRepository.Add(productoDataModel);
                    message = "Producto registrado correctamente";
                    break;
                }

                case EntityState.deleted:
                {
                    productoRepository.Remove(Codigo_producto);
                    message = "Producto Dado de baja exitosamente";
                    break;
                }

                case EntityState.Modified:
                {
                    productoRepository.Edit(productoDataModel);
                    message = "Producto Modificado Exitosamente";
                    break;
                }
                }
            }catch (Exception ex)
            {
                SqlException sqlEx = ex as SqlException;
                if (sqlEx != null && sqlEx.Number == 2267)
                {
                    message = "Registro duplicado";
                }
                else
                {
                    message = ex.Message;
                }
            }

            return(message);
        }
Example #12
0
 public void Add(Producto model)
 {
     _productoRepository.Add(model);
     _unitOfWork.Commit();
 }
Example #13
0
 public void Add(Producto producto)
 {
     productoRepository.Add(producto);
     Save();
 }
Example #14
0
        public async Task <Producto> AddProducto(Producto producto)
        {
            var addedEntity = await _productoRepository.Add(ProductoMapper.Map(producto));

            return(ProductoMapper.Map(addedEntity));
        }