コード例 #1
0
 public Producto CrearProducto(Especificacion especificacion)
 {
     if (Especificacion.MateriaPrima == especificacion)
     {
         return(new ProductoMateriaPrima());
     }
     throw new InvalidOperationException($"La especificación {especificacion.ToString()} " +
                                         $"no es para materias primas");
 }
コード例 #2
0
 public Producto CrearProducto(Especificacion especificacion)
 {
     return(especificacion switch
     {
         Especificacion.ConEmboltorio => new ProductoParaVenderConEmboltorio(),
         Especificacion.SinEmboltorio => new ProductoParaVenderSinEmboltorio(),
         _ => throw new
         InvalidOperationException("No es de tipo para Vender"),
     });
コード例 #3
0
        public void FabricacionProbar(string identificaciónEmpleado, int idProducto,
                                      Especificacion contestura, string esperado)
        {
            FabricacionRequest request = new FabricacionRequest(identificaciónEmpleado, idProducto,
                                                                0, 0, contestura, fabricacionDetalleRequestsCorrectos);
            Response obtenido = new FabricacionCrearService(_unitOfWork).IniciarFabricacion(request);

            Assert.AreEqual(esperado, obtenido.Mensaje);
        }
コード例 #4
0
 public Producto CrearProducto(Especificacion especificacion)
 {
     return(especificacion switch
     {
         Especificacion.Duro => new ProductoParaFabricarDuro(),
         Especificacion.Suave => new ProductoParaFabricarSuave(),
         _ => throw new
         InvalidOperationException("No es de tipo para Fabricar"),
     });
コード例 #5
0
 public FabricacionRequest(string nitEmpleado, int IdProducto,
                           double cantidad, double costo, Especificacion especificacion,
                           List <FabricacionDetalleRequest> fabricacionDetallesRequest)
 {
     this.IdProducto       = IdProducto;
     NitEmpleado           = nitEmpleado;
     CantidadDeFabricacion = cantidad;
     CostoDeFabricacion    = costo;
     Especificacion        = especificacion;
     Detalles = fabricacionDetallesRequest;
 }
        public void CrearProductoParaFabricar(string nombreProducto, double cantidadProducto,
                                              double costoUnitarioProducto, UnidadDeMedida unidadDeMedidaProducto,
                                              Especificacion especificacion, int idSubCategoria, string esperado)
        {
            ProductoRequest request = new ProductoRequest.ProductoRequestBuilder(1, nombreProducto).
                                      SetCantidad(cantidadProducto).SetCostoUnitario(costoUnitarioProducto).SetTipo(Tipo.ParaFabricar).
                                      SetUnidadDeMedida(unidadDeMedidaProducto).SetSubCategoria(idSubCategoria).
                                      SetEspecificacion(especificacion).Build();
            Response response = utilities.CrearProducto(request, new ProductoCrearService(_unitOfWork));

            Assert.AreEqual(esperado, response.Mensaje);
        }
コード例 #7
0
        public void CrearProductoParaVender(string nombreProducto,
                                            decimal cantidadProducto, decimal costoUnitarioProducto,
                                            UnidadDeMedida unidadDeMedidaProducto, int idSubCategoria,
                                            decimal porcentajeDeUtilidadProducto, Especificacion especificacion, string esperado)
        {
            ProductoRequest request = new ProductoRequest.ProductoRequestBuilder(1, nombreProducto).
                                      SetCantidad(cantidadProducto).SetCostoUnitario(costoUnitarioProducto).SetTipo(Tipo.ParaVender).
                                      SetUnidadDeMedida(unidadDeMedidaProducto).SetEspecificacion(especificacion).
                                      SetPorcentajeDeUtilidad(porcentajeDeUtilidadProducto).SetSubCategoria(idSubCategoria).Build();

            Response response = new ProductoCrearService(_unitOfWork).
                                Crear(request);

            Assert.AreEqual(esperado, response.Mensaje);
        }
コード例 #8
0
        public Producto CrearProducto(Especificacion especificacion)
        {
            switch (especificacion)
            {
            case Especificacion.Duro:
                return(new ProductoParaFabricarDuro());

            case Especificacion.Suave:
                return(new ProductoParaFabricarSuave());

            default:
                throw new
                      InvalidOperationException($"La especificación {especificacion.ToString()} no es para fabricar");
            }
        }
コード例 #9
0
        public Producto CrearProducto(Especificacion especificacion)
        {
            switch (especificacion)
            {
            case Especificacion.TieneEnvoltorio:
                return(new ProductoParaVenderConEnvoltorio());

            case Especificacion.NoTieneEnvoltorio:
                return(new ProductoParaVenderSinEnvoltorio());

            default:
                throw new
                      InvalidOperationException($"La especificación " +
                                                $"{especificacion.ToString()} no es para vender");
            }
        }
コード例 #10
0
        public void CrearMateriaPrimaDuplicado(string nombreProducto,
                                               double cantidadProducto, double costoUnitarioProducto,
                                               UnidadDeMedida unidadDeMedidaProducto, double porcentajeDeUtilidadProducto,
                                               Especificacion especificacion, int idSubCategoria)
        {
            ProductoRequest request = new ProductoRequest.ProductoRequestBuilder(1, nombreProducto).
                                      SetCantidad(cantidadProducto).SetCostoUnitario(costoUnitarioProducto).SetTipo(Tipo.ParaVender).
                                      SetUnidadDeMedida(unidadDeMedidaProducto).SetEspecificacion(especificacion).
                                      SetPorcentajeDeUtilidad(porcentajeDeUtilidadProducto).SetSubCategoria(idSubCategoria).Build();

            _ = new ProductoCrearService(_unitOfWork).
                Crear(request);

            Response response = new ProductoCrearService(_unitOfWork).
                                Crear(request);

            Assert.AreEqual("El producto ya existe", response.Mensaje);
        }
コード例 #11
0
        private Especificacion GetSingle(DataSet ds)
        {
            Especificacion especificacion = null;

            try
            {
                if (ds != null && ds.Tables != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    especificacion = new Especificacion()
                    {
                        CV = Convert.ToString(ds.Tables[0].Rows[0][Arguments.CV]),
                        Minutos_Limite_Vulcanizado = Convert.ToInt16(ds.Tables[0].Rows[0][Arguments.Minutos_Limite_Vulcanizado])
                    };
                }
            }
            catch (Exception ex)
            {
                log.Error("GetSingle", ex);
            }

            return(especificacion);
        }
コード例 #12
0
        public int Agregar(Especificacion entidad)
        {
            int id = -1;

            try
            {
                var    accessor = new DataAccesor(_connectionString);
                string ic       = accessor.ParameterIdentifierCharacter();

                var sql = string.Format("INSERT INTO ESPECIFICACION (CV, MINUTOS_LIMITE_VULCANIZADO)" +
                                        " VALUES (" + ic + "{0}, " + ic + "{1})",
                                        Arguments.CV, Arguments.Minutos_Limite_Vulcanizado);


                List <IDataParameter> parameters = new List <IDataParameter>()
                {
                    accessor.Parameter(Arguments.CV, entidad.CV),
                    accessor.Parameter(Arguments.Minutos_Limite_Vulcanizado, entidad.Minutos_Limite_Vulcanizado),
                };

                var result = accessor.ExecuteNonQueryWithResult(sql, parameters, false);

                if (result != null && typeof(int).Equals(result.GetType()))
                {
                    id = (int)result;
                }
                else
                {
                    log.Warning("Agregar() No se ha completado la inserción");
                }
            }
            catch (Exception ex)
            {
                log.Error("Agregar()", ex);
            }

            return(id);
        }
コード例 #13
0
 public ProductoParaFabricarDuro SetEspecificacion(Especificacion especificacion)
 {
     this.Especificacion = especificacion;
     return(this);
 }
コード例 #14
0
 public Producto CrearProducto(Especificacion especificacion)
 {
     return(FactoriaConcreta.CrearProducto(especificacion));
 }
コード例 #15
0
 public Producto CrearProducto(Especificacion especificacion)
 {
     return(new ProductoMateriaPrima());
 }
コード例 #16
0
 public bool Modificar(Especificacion entidad)
 {
     throw new NotImplementedException();
 }
コード例 #17
0
 public ProductoParaVenderSinEnvoltorio SetEspecificacion(Especificacion especificacion)
 {
     this.Especificacion = especificacion;
     return(this);
 }
コード例 #18
0
 SetEspecificacion(Especificacion especificacion)
 {
     this.Especificacion = especificacion;
     return(this);
 }