Beispiel #1
0
 protected void dgvFabricaciones_RowCommand(object sender, GridViewCommandEventArgs e)
 {
     try
     {
         if (e.CommandName.Equals("AddNew"))
         {
             FabricacionNegocio FabricacionesNeg = new FabricacionNegocio();
             Fabricacion        fab = new Fabricacion();
             fab.producto    = new Producto();
             fab.empleado    = new Empleado();
             fab.producto.id = Convert.ToInt64((dgvFabricaciones.FooterRow.FindControl("ddlProductosFooter") as DropDownList).Text);
             fab.empleado.id = Convert.ToInt64((dgvFabricaciones.FooterRow.FindControl("ddlEmpleadosFooter") as DropDownList).Text);
             fab.cantidad    = Convert.ToDouble((dgvFabricaciones.FooterRow.FindControl("txbCantidadFooter") as TextBox).Text);
             fab.estadoFab   = ((dgvFabricaciones.FooterRow.FindControl("ddlEstadosFooter") as DropDownList).Text);
             fab.fechaInicio = Convert.ToDateTime(txbInicio.Text);
             fab.fechaFin    = Convert.ToDateTime(txbFin.Text);
             FabricacionesNeg.Agregar(fab);
             FabricacionesNeg.AgregarStock(fab.producto.id, fab.cantidad);
             lblCorrecto.Text   = "Agregado correctamente.";
             lblIncorrecto.Text = "";
             Cargardgv();
         }
     }
     catch (Exception ex)
     {
         lblCorrecto.Text   = "";
         lblIncorrecto.Text = ex.Message;
     }
 }
        public void Agregar(Fabricacion aux)
        {
            AccesoDatos datos = new AccesoDatos();

            try
            {
                datos.setearQuery("Insert into Fabricaciones values (@idProducto, @cantidad,@idEmpleado,@estadoFab,@fechai,@fechafin,1)");
                datos.Clear();
                datos.agregarParametro("@idProducto", aux.producto.id);
                datos.agregarParametro("@idEmpleado", aux.empleado.id);
                datos.agregarParametro("@cantidad", aux.cantidad);
                datos.agregarParametro("@estadoFab", aux.estadoFab);
                datos.agregarParametro("@fechai", aux.fechaInicio);
                datos.agregarParametro("@fechafin", aux.fechaFin);
                datos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                datos.cerrarConexion();
            }
        }
        public void ProbarCostoLuegoDeLaPrimeraPreparacion()
        {
            //Primera Fabricacion
            Fabricacion = new Fabricacion(TerceroEmpleado);
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, leche, 15));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, ArinaPan, 1));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, azucar, 10));

            calderoLeche.AgregarFabricacion(Fabricacion);
            calderoLeche.AdicionarCantidad(23);

            leche.SetCantidad(35);
            azucar.SetCantidad(30);
            ArinaPan.SetCantidad(0.5);
            //Segunda Fabricacion
            Fabricacion = new Fabricacion(TerceroEmpleado);
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, leche, 35));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, ArinaPan, 0.5));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, azucar, 30));

            calderoLeche.AgregarFabricacion(Fabricacion);
            calderoLeche.AdicionarCantidad(35);

            //(35.65*23*50 + (35*2000) + (0.5*1000) + (30*1000))/(23*50+35*50)
            Assert.AreEqual(48.79, calderoLeche.CostoUnitario);
            Assert.AreEqual((35 + 23) * 50, calderoLeche.Cantidad);
        }
Beispiel #4
0
 /// <summary>
 /// Devuelve los datos de la base de datos
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnLeerBD_Click(object sender, EventArgs e)
 {
     try
     {
         this.fabrica     = new Fabrica();
         this.fabrica     = operarioDao.Leer(this.fabrica);
         this.fabricacion = new Fabricacion();
         this.fabricacion = alternadorDao.Leer(this.fabricacion);
         this.fabricacion = arranqueDao.Leer(this.fabricacion);
         if (this.fabrica.Operarios.Count > 0)
         {
             Xml <Fabrica> xmlFabrica = new Xml <Fabrica>();
             xmlFabrica.Guardar("operadores.xml", this.fabrica);
             this.btnLeerBD.Enabled = false;
         }
         if (this.fabricacion.Arranques.Count > 0 || this.fabricacion.Alternadores.Count > 0)
         {
             Xml <Fabricacion> xmlFabricacion = new Xml <Fabricacion>();
             xmlFabricacion.Guardar("fabricaciones.xml", this.fabricacion);
             this.btnLeerBD.Enabled = false;
         }
         else
         {
             MessageBox.Show("Base de datos vacia!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message + " \n\n" + ex.InnerException.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
Beispiel #5
0
        /* FABRICACIÓN */

        private static void comandoGetOrdenesFabricacion(string uuid, DBStorage db, TcpClient server)
        {
            Fabricacion fabricacion = db.getFabricacion(Guid.Parse(uuid));

            if (fabricacion == null)
            {
                return;
            }

            OrdenFabricacion ordenFabricacion = db.getNextOrdenFabricacion(fabricacion.idAlmacen, fabricacion.id);

            if (ordenFabricacion == null)
            {
                enviarMensaje(server, "MSG$$" + uuid + "&&IDLE");
                return;
            }

            if (fabricacion.tipo == 'R')
            {
                robotGetOrdenesFabricacion(uuid, db, server, fabricacion, ordenFabricacion);
            }
            else if (fabricacion.tipo == 'A')
            {
                meGetOrdenesFabricacion(db, ordenFabricacion, uuid, server);
            }
        }
        public void Modificar(Fabricacion aux)
        {
            AccesoDatos datos = new AccesoDatos();

            try
            {
                datos.setearQuery("update Fabricaciones set idProducto=@idProducto,idEmpleado=@idEmpleado, cantidad=@cantidad, estadoFabricacion=@estadoFab, fechaInicio=@fechai , fechaFin=@fechafin where id=@id ");
                datos.agregarParametro("@id", aux.id);
                datos.agregarParametro("@idProducto", aux.producto.id);
                datos.agregarParametro("@idEmpleado", aux.empleado.id);
                datos.agregarParametro("@cantidad", aux.cantidad);
                datos.agregarParametro("@estadoFab", aux.estadoFab);
                datos.agregarParametro("@fechai", aux.fechaInicio);
                datos.agregarParametro("@fechafin", aux.fechaFin);
                datos.ejecutarAccion();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                datos.cerrarConexion();
            }
        }
Beispiel #7
0
        /// <summary>
        /// Guarda un alternador fabricado a la base de datos
        /// </summary>
        /// <param name="fabricacion"></param>
        /// <param name="objeto"></param>
        /// <returns></returns>
        public bool Guardar(Fabricacion fabricacion, U objeto)
        {
            bool aux = false;

            try
            {
                foreach (Alternador item in fabricacion.Alternadores)
                {
                    if (objeto.Marca.ToString() == item.Marca.ToString())
                    {
                        comando.Parameters.Clear();
                        comando.CommandText = "INSERT INTO dbo.Alternadores(Marca, Cantidad) VALUES(@marca, @cantidad)";
                        comando.Parameters.AddWithValue("@marca", item.Marca.ToString());
                        comando.Parameters.AddWithValue("@cantidad", item.Cantidad);
                        this.Ejecutar();
                        aux = true;
                        return(aux);
                    }
                }
                return(aux);
            }
            catch (Exception ex)
            {
                throw new GuardarBdException("Error al guardar base de datos(Alternadores)", ex);
            }
        }
        private Producto ComprobarExistenciasDeEnMateriasPrimas(FabricacionRequest request,
                                                                Fabricacion fabricacion, Producto temp)
        {
            foreach (FabricacionDetalleRequest detalle in request.Detalles)
            {
                Producto productoMateriaPrima =
                    this._unitOfWork.ProductoRepository.
                    FindFirstOrDefault(producto => producto.Nombre == detalle.NombreMateriaPrima);
                if (productoMateriaPrima == null)
                {
                    break;
                }
                else if (productoMateriaPrima.
                         PuedeDescontarCantidad(detalle.CantidadMateriaPrima).Any())
                {
                    temp = productoMateriaPrima;
                    break;
                }
                fabricacion.
                AgregarDetalle(new FabricacionDetalle(fabricacion, productoMateriaPrima,
                                                      detalle.CantidadMateriaPrima));
            }

            return(temp);
        }
Beispiel #9
0
        /// <summary>
        /// Lee la tabla Alternadores de la base de datos
        /// </summary>
        /// <param name="fabricacion"></param>
        /// <returns></returns>
        public Fabricacion Leer(Fabricacion fabricacion)
        {
            try
            {
                comando.CommandText = "SELECT marca, cantidad FROM dbo.Alternadores";
                if (this.conexion.State != System.Data.ConnectionState.Open && this.conexion.State != System.Data.ConnectionState.Connecting)
                {
                    conexion.Open();
                }

                SqlDataReader oDr = comando.ExecuteReader();
                while (oDr.Read())
                {
                    int    cantidad;
                    EMarca marca;
                    Enum.TryParse(oDr["marca"].ToString(), false, out marca);
                    int.TryParse(oDr["cantidad"].ToString(), out cantidad);

                    Alternador alternador = new Alternador(marca, cantidad);
                    fabricacion.Alternadores.Add(alternador);
                }

                this.conexion.Close();

                return(fabricacion);
            }
            catch (Exception ex)
            {
                throw new LeerBdException("Error al leer base de datos(Alternadores)", ex);
            }
            finally
            {
                this.conexion.Close();
            }
        }
Beispiel #10
0
        protected void dgvFabricaciones_RowEditing(object sender, GridViewEditEventArgs e)
        {
            dgvFabricaciones.EditIndex = e.NewEditIndex;
            Cargardgv();
            FabricacionNegocio fabNeg  = new FabricacionNegocio();
            ProductoNegocio    prodNeg = new ProductoNegocio();

            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlProductos")).DataValueField = "id";
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlProductos")).DataTextField  = "nombre";
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlProductos")).DataSource     = prodNeg.Listar();
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlProductos")).DataBind();
            Producto    pr  = (prodNeg.Listar(e.NewEditIndex + 1))[0];
            Fabricacion fab = (fabNeg.Listar(e.NewEditIndex + 1))[0];

            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlProductos")).Items.FindByValue(fab.producto.id.ToString()).Selected = true;
            fabNeg = new FabricacionNegocio();
            EmpleadoNegocio empNeg = new EmpleadoNegocio();

            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEmpleados")).DataValueField = "id";
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEmpleados")).DataTextField  = "nombre";
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEmpleados")).DataSource     = empNeg.Listar();
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEmpleados")).DataBind();
            //Fabricacion fab = (fabNeg.Listar(e.NewEditIndex + 1))[0];
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEmpleados")).Items.FindByValue(fab.empleado.id.ToString()).Selected = true;

            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEstadoEdit")).Items.Add("Pendiente");
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEstadoEdit")).Items.Add("Completado");
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEstadoEdit")).Items.Add("Cancelado");
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEstadoEdit")).DataBind();
            ((DropDownList)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("ddlEstadoEdit")).Items.FindByValue(fab.estadoFab).Selected = true;
            ((TextBox)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("txbFechaI")).Text   = fab.fechaInicio.ToString("yyyy-MM-dd");
            ((TextBox)dgvFabricaciones.Rows[e.NewEditIndex].FindControl("txbFechaFin")).Text = fab.fechaFin.ToString("yyyy-MM-dd");
        }
        public void ProbarCreacionDePresentacionConEnvoltorio()
        {
            Fabricacion = new Fabricacion(TerceroEmpleado);
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, leche, 15));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, ArinaPan, 1));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, azucar, 10));

            calderoLeche.AgregarFabricacion(Fabricacion);
            calderoLeche.AdicionarCantidad(cantidad: 23);

            ProductoParaVenderDetalle productoParaVenderDetalle =
                new ProductoParaVenderDetalle(calderoLeche, PresentacionBandejaSelloPlus4Onzas);

            productoParaVenderDetalle.SetCantidadNecesaria(cantidad: 30);

            PresentacionBandejaSelloPlus4Onzas.AgregarDetalle(productoParaVenderDetalle);

            PresentacionBandejaSelloPlus4Onzas.
            AdicionarCantidad(cantidad: 7);
            Assert.AreEqual(expected: 1369.5,
                            actual: PresentacionBandejaSelloPlus4Onzas.CostoUnitario);

            Assert.AreEqual(expected: 4,
                            actual: PresentacionBandejaSelloPlus4Onzas.Cantidad);
            Console.WriteLine(PresentacionBandejaSelloPlus4Onzas.PrecioSugeridoDeVenta);
        }
        public void ProbarCreacionDePresentacionSinEnvoltorio()
        {
            Fabricacion = new Fabricacion(TerceroEmpleado);
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, leche, 15));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, ArinaPan, 1));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, azucar, 10));

            calderoLeche.AgregarFabricacion(Fabricacion);
            calderoLeche.AdicionarCantidad(cantidad: 23);

            ProductoParaVenderDetalle productoParaVenderDetalle =
                new ProductoParaVenderDetalle(calderoLeche, UnidadesDeLeche);

            productoParaVenderDetalle.SetCantidadNecesaria(cantidad: 5);

            UnidadesDeLeche.AgregarDetalle(productoParaVenderDetalle);

            UnidadesDeLeche.
            AdicionarCantidad(cantidad: 10);

            Assert.AreEqual(expected: 178.25,
                            actual: UnidadesDeLeche.CostoUnitario);
            Assert.AreEqual(expected: 10, actual: UnidadesDeLeche.Cantidad);
            Console.WriteLine(UnidadesDeLeche.PrecioSugeridoDeVenta);
        }
Beispiel #13
0
 /// <summary>
 /// Constructor sin parametros que instancia los atributos fabrica, fabricacion, operarioDao, alternadorDao y arranqueDao
 /// </summary>
 public FrmPrincipal()
 {
     InitializeComponent();
     this.fabrica       = new Fabrica();
     this.fabricacion   = new Fabricacion();
     this.operarioDao   = new OperarioDAO <Operario>();
     this.alternadorDao = new AlternadorDAO <Alternador>();
     this.arranqueDao   = new ArranqueDAO <Arranque>();
 }
        public bool AsignacionTecnico(string email, int codigo, string descripcion, int tiempo)
        {
            Fabricacion f = new Fabricacion()
            {
                Descripcion = descripcion,
                Tiempo      = tiempo,
            };

            return(f.asignacionTecnicos(email, codigo));
        }
Beispiel #15
0
 protected void dgvFabricaciones_RowUpdating(object sender, GridViewUpdateEventArgs e)
 {
     try
     {
         FabricacionNegocio FabricacionesNeg = new FabricacionNegocio();
         Fabricacion        fab = new Fabricacion();
         fab.producto    = new Producto();
         fab.empleado    = new Empleado();
         fab.id          = Convert.ToInt64(dgvFabricaciones.DataKeys[e.RowIndex].Value.ToString());
         fab.producto.id = Convert.ToInt64((dgvFabricaciones.Rows[e.RowIndex].FindControl("ddlProductos") as DropDownList).Text);
         fab.empleado.id = Convert.ToInt64((dgvFabricaciones.Rows[e.RowIndex].FindControl("ddlEmpleados") as DropDownList).Text);
         fab.cantidad    = Convert.ToDouble((dgvFabricaciones.Rows[e.RowIndex].FindControl("txbCantidad") as TextBox).Text);
         fab.estadoFab   = (dgvFabricaciones.Rows[e.RowIndex].FindControl("ddlEstadoEdit") as DropDownList).Text;
         fab.fechaInicio = Convert.ToDateTime((dgvFabricaciones.Rows[e.RowIndex].FindControl("txbFechaI") as TextBox).Text);
         fab.fechaFin    = Convert.ToDateTime((dgvFabricaciones.Rows[e.RowIndex].FindControl("txbFechaFin") as TextBox).Text);
         List <Formula> listaFormula;
         FormulaNegocio formuNeg = new FormulaNegocio();
         listaFormula = formuNeg.Listar(Convert.ToInt32(fab.producto.id));
         if (fab.estadoFab.Equals("Completado"))
         {
             int cant = FabricacionesNeg.ContarInsumosXProd(fab.producto.id);
             if (FabricacionesNeg.VerificarStock(fab.producto.id, cant, fab.cantidad))
             {
                 FabricacionesNeg.AgregarStock(fab.producto.id, fab.cantidad);
                 FabricacionesNeg.Modificar(fab);
                 foreach (Formula item in listaFormula)
                 {
                     FabricacionesNeg.DisminuirStock(item.insumo.id, item.cantidad, fab.cantidad);
                 }
                 lblCorrecto.Text   = "Modificado correctamente.";
                 lblIncorrecto.Text = "";
                 Response.Redirect("Fabricaciones.aspx");
             }
             else
             {
                 Cargardgv();
                 lblCorrecto.Text   = "";
                 lblIncorrecto.Text = "No se modifico";
                 Response.Redirect("Fabricaciones.aspx");
             }
         }
         else
         {
             FabricacionesNeg.Modificar(fab);
             Response.Redirect("Fabricaciones.aspx");
         }
     }
     catch (Exception ex)
     {
         lblCorrecto.Text   = "";
         lblIncorrecto.Text = ex.Message;
     }
 }
Beispiel #16
0
        private static void comandoSetOrdenFabricacion(string uuid, DBStorage db, string msg)
        {
            Fabricacion fabricacion = db.getFabricacion(Guid.Parse(uuid));

            if (fabricacion == null)
            {
                return;
            }

            string[] data = msg.Split(';');
            if (data.Length != 3)
            {
                return;
            }

            int id;

            try
            {
                id = Int32.Parse(data[0]);
            }
            catch (Exception) { return; }
            if (id <= 0)
            {
                return;
            }

            if (data[1].Equals("OK"))
            {
                db.setResultadoOrdenFabricaicon(id, fabricacion.idAlmacen, fabricacion.id, true);
            }
            else if (data[1].Equals("ERR"))
            {
                short errorCode;
                try
                {
                    errorCode = Int16.Parse(data[2]);
                }
                catch (Exception) { return; }
                if (errorCode <= 0)
                {
                    return;
                }

                db.setResultadoOrdenFabricaicon(id, fabricacion.idAlmacen, fabricacion.id, false, errorCode);
            }
            else
            {
                return;
            }
        }
Beispiel #17
0
 /// <summary>
 /// Lee los archivos XML del escritorio
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnXmlLeer_Click(object sender, EventArgs e)
 {
     try
     {
         Xml <Fabrica> xmlFabrica = new Xml <Fabrica>();
         this.fabrica = xmlFabrica.Leer("operadores.xml");
         Xml <Fabricacion> xmlFabricacion = new Xml <Fabricacion>();
         this.fabricacion = xmlFabricacion.Leer("fabricaciones.xml");
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
        public void ProbarCostoDelaPrimeraFabricacion()
        {
            Fabricacion = new Fabricacion(TerceroEmpleado);


            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, leche, 15));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, ArinaPan, 1));
            Fabricacion.AgregarDetalle(new FabricacionDetalle(Fabricacion, azucar, 10));
            calderoLeche.AgregarFabricacion(Fabricacion);
            calderoLeche.AdicionarCantidad(23);
            //((15*2000) + (1*1000) + (10*1000))/(0+23*50)
            Assert.AreEqual(35.65, calderoLeche.CostoUnitario);
            Console.WriteLine(calderoLeche.PrecioSugeridoDeVenta + " " + calderoLeche.Cantidad);
        }
Beispiel #19
0
        /// <summary>
        /// Obtengo todos los registros de la base de datos
        /// </summary>
        /// <returns></returns>
        public static List <Fabricacion> SelectFabricacion()
        {
            List <Fabricacion> listaFabricacion = new List <Fabricacion>();
            string             query            = "SELECT * FROM Materiales";

            comando.CommandText = query;

            try
            {
                if (FabricacionDAO.conexion.State != ConnectionState.Open &&
                    FabricacionDAO.conexion.State != ConnectionState.Connecting)
                {
                    FabricacionDAO.conexion.Open();
                }

                FabricacionDAO.lector = FabricacionDAO.comando.ExecuteReader();

                while (FabricacionDAO.lector.Read())
                {
                    Fabricacion nuevaFabricacion = new Fabricacion();
                    nuevaFabricacion.Id       = (int)lector["Id"];
                    nuevaFabricacion.Material = lector["Material"].ToString();
                    nuevaFabricacion.Proceso  = lector["Proceso"].ToString();
                    nuevaFabricacion.Origen   = lector["Origen"].ToString();
                    nuevaFabricacion.Cantidad = (int)lector["Cantidad"];
                    nuevaFabricacion.Calidad  = lector["Calidad"].ToString();
                    nuevaFabricacion.Color    = lector["Color"].ToString();

                    listaFabricacion.Add(nuevaFabricacion);
                }
            }
            catch (Exception ex)
            {
                listaFabricacion = null;
                throw ex;
            }
            finally
            {
                if (FabricacionDAO.conexion.State != ConnectionState.Closed)
                {
                    FabricacionDAO.conexion.Close();
                }
            }
            return(listaFabricacion);
        }
Beispiel #20
0
 public FabricacionRequest Map(Fabricacion fabricacion)
 {
     this.Id               = fabricacion.Id;
     NitEmpleado           = fabricacion.TerceroEmpleado.Tercero.Nit;
     CantidadDeFabricacion = fabricacion.Cantidad;
     CostoDeFabricacion    = fabricacion.Costo;
     this.FechaCreacion    = fabricacion.FechaCreacion;
     this.TerceroEmpleado  = new TerceroEmpleadoRequest().Map(fabricacion.TerceroEmpleado);
     if (fabricacion.FabricacionDetalles != null)
     {
         fabricacion.FabricacionDetalles.ForEach((detalle) =>
         {
             this.Detalles.
             Add(new FabricacionDetalleRequest().Map(detalle));
         });
     }
     return(this);
 }
        public List <Fabricacion> Listar(int id = 0)
        {
            AccesoDatos        datos = new AccesoDatos();
            Fabricacion        aux;
            List <Fabricacion> lista = new List <Fabricacion>();

            try
            {
                string consulta = "select f.id,f.idProducto,p.nombre,f.idEmpleado,e.nombre,f.cantidad,f.estadoFabricacion, f.fechaInicio, f.fechaFin from fabricaciones as f  inner join productos as p on p.id=f.idProducto inner join empleados as e on e.id=f.idEmpleado ";
                if (id != 0)
                {
                    consulta = consulta + " where f.id=" + id.ToString();
                }

                datos.setearQuery(consulta);
                datos.ejecutarLector();

                while (datos.lector.Read())
                {
                    aux                 = new Fabricacion();
                    aux.id              = datos.lector.GetInt64(0);
                    aux.producto        = new Producto();
                    aux.producto.id     = datos.lector.GetInt64(1);
                    aux.producto.nombre = datos.lector.GetString(2);
                    aux.empleado        = new Empleado();
                    aux.empleado.id     = datos.lector.GetInt64(3);
                    aux.empleado.nombre = datos.lector.GetString(4);
                    aux.cantidad        = datos.lector.GetDouble(5);
                    aux.estadoFab       = datos.lector.GetString(6);
                    aux.fechaInicio     = datos.lector.GetDateTime(7);
                    aux.fechaFin        = datos.lector.GetDateTime(8);
                    lista.Add(aux);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                datos.cerrarConexion();
            }
        }
Beispiel #22
0
 /// <summary>
 /// Actualiza la cantidad de fabricaciones de una marca
 /// </summary>
 /// <param name="fabricacion"></param>
 /// <param name="objeto"></param>
 public void ActualizarDatos(Fabricacion fabricacion, U objeto)
 {
     try
     {
         foreach (Alternador item in fabricacion.Alternadores)
         {
             if (objeto.Marca.ToString() == item.Marca.ToString())
             {
                 comando.Parameters.Clear();
                 comando.CommandText = "Update Alternadores set Cantidad = @cantidad where Marca = @marca";
                 comando.Parameters.AddWithValue("@marca", item.Marca.ToString());
                 comando.Parameters.AddWithValue("@cantidad", item.Cantidad);
                 this.Ejecutar();
             }
         }
     }
     catch (Exception ex)
     {
         throw new ActualizarBdException("Error al actualizar base de datos(Alternadores)", ex);
     }
 }
Beispiel #23
0
        /// <summary>
        /// Modifica la fabricacion recibida por parametro en la tabla de la base de datos
        /// </summary>
        /// <param name="fabricacion"></param>
        /// <returns></returns>
        public static bool UpdateFabricacion(Fabricacion fabricacion)
        {
            bool   seModifico = false;
            string consulta   = "UPDATE Materiales SET Material=@material, Proceso=@proceso, Origen=@origen, Cantidad=@cantidad, Calidad=@calidad, Color=@color WHERE Id=@id";

            FabricacionDAO.comando.CommandText = consulta;
            FabricacionDAO.comando.Parameters.AddWithValue("@material", fabricacion.Material);
            FabricacionDAO.comando.Parameters.AddWithValue("@proceso", fabricacion.Proceso);
            FabricacionDAO.comando.Parameters.AddWithValue("@origen", fabricacion.Origen);
            FabricacionDAO.comando.Parameters.AddWithValue("@cantidad", fabricacion.Cantidad);
            FabricacionDAO.comando.Parameters.AddWithValue("@calidad", fabricacion.Calidad);
            FabricacionDAO.comando.Parameters.AddWithValue("@color", fabricacion.Color);
            FabricacionDAO.comando.Parameters.AddWithValue("@id", fabricacion.Id);

            try
            {
                if (FabricacionDAO.conexion.State != ConnectionState.Open &&
                    FabricacionDAO.conexion.State != ConnectionState.Connecting)
                {
                    FabricacionDAO.conexion.Open();
                }
                int filasAfectadas = FabricacionDAO.comando.ExecuteNonQuery();
                if (filasAfectadas > 0)
                {
                    seModifico = true;
                }
            }catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (FabricacionDAO.conexion.State != ConnectionState.Closed)
                {
                    FabricacionDAO.conexion.Close();
                }
                FabricacionDAO.comando.Parameters.Clear();
            }
            return(seModifico);
        }
Beispiel #24
0
        /// <summary>
        /// Metodo que guarda/actualiza la fabricacion en la base de datos y en un archivo xml
        /// Tambien actualiza el estado del operario asignado
        /// </summary>
        /// <param name="fabricacion"></param>
        /// <param name="fabrica"></param>
        /// <param name="opeario"></param>
        /// <param name="arranque"></param>
        /// <returns></returns>
        private bool Archivos(Fabricacion fabricacion, Fabrica fabrica, Operario opeario, Arranque arranque)
        {
            bool aux = false;

            try
            {
                OperarioDAO <Operario> fabricaDao     = new OperarioDAO <Operario>();
                ArranqueDAO <Arranque> arranqueDao    = new ArranqueDAO <Arranque>();
                Xml <Fabrica>          xmlFabrica     = new Xml <Fabrica>();
                Xml <Fabricacion>      xmlFabricacion = new Xml <Fabricacion>();

                this.fabricacion += this.arranque;

                if (this.fabrica.SumarFabricacion(fabrica, operario))
                {
                    fabricaDao.ActualizarDatos(this.fabrica, this.operario);
                    xmlFabricacion.Guardar("fabricaciones.xml", this.fabricacion);
                    xmlFabrica.Guardar("operadores.xml", this.fabrica);
                    this.ResetForm();
                    if (arranqueDao.Verificar(this.arranque))
                    {
                        arranqueDao.ActualizarDatos(this.fabricacion, this.arranque);
                    }
                    else
                    {
                        arranqueDao.Guardar(this.fabricacion, this.arranque);
                    }
                    aux = true;
                }
                return(aux);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(aux);
            }
        }
Beispiel #25
0
 public override void AgregarFabricacion(Fabricacion fabricacion)
 {
     this.Fabricaciones.Add(fabricacion);
 }
Beispiel #26
0
 /// <summary>
 /// Constructor que instancia los atributos fabrica y fabricacion
 /// </summary>
 /// <param name="fabrica"></param>
 /// <param name="fabricacion"></param>
 public FrmArranques(Fabrica fabrica, Fabricacion fabricacion)
 {
     InitializeComponent();
     this.fabricacion = fabricacion;
     this.fabrica     = fabrica;
 }
        public Response IniciarFabricacion(FabricacionRequest request)
        {
            Producto productoParaFabricar =
                this._unitOfWork.ProductoRepository.
                FindBy(producto => producto.Id == request.IdProducto,
                       includeProperties: "Fabricaciones").FirstOrDefault();

            if (productoParaFabricar == null)
            {
                return(new Response
                {
                    Mensaje = "El producto para fabricar no existe, agréguelo"
                });
            }

            if (productoParaFabricar.Especificacion == Especificacion.MateriaPrima)
            {
                return(new Response
                {
                    Mensaje = $"El {productoParaFabricar.Nombre} no se puede fabricar"
                });
            }

            TerceroEmpleado empleado = this._unitOfWork.TerceroEmpleadoRepository.
                                       FindBy(empleado => empleado.Tercero.Nit == request.NitEmpleado,
                                              includeProperties: "Tercero").FirstOrDefault();

            if (empleado == null)
            {
                return(new Response
                {
                    Mensaje = $"No hay un empleado con identificación {request.NitEmpleado}"
                });
            }
            if (request.Detalles.Count == 0)
            {
                return(new Response
                {
                    Mensaje = $"Por favor, agregue materias primas " +
                              $"para fabricar el {productoParaFabricar.Nombre}"
                });
            }
            Fabricacion fabricacion = new Fabricacion(empleado);

            productoParaFabricar.AgregarFabricacion(fabricacion);



            Producto temp = null;

            temp = ComprobarExistenciasDeEnMateriasPrimas(request, fabricacion, temp);

            if (fabricacion.FabricacionDetalles.Count !=
                request.Detalles.Count)
            {
                if (temp == null)
                {
                    return(new Response
                    {
                        Mensaje = "El " +
                                  $"{request.Detalles[fabricacion.FabricacionDetalles.Count].NombreMateriaPrima}" +
                                  " no se encuentra en el sistema, agréguelo"
                    });
                }
                return(new Response
                {
                    Mensaje = $"No hay cantidades suficientes de {temp.Nombre}, " +
                              $"solo hay {temp.Cantidad}"
                });
            }
            fabricacion.DescontarCantidadesEnMateriasPrimas();
            this._unitOfWork.ProductoRepository.Edit(productoParaFabricar);
            this._unitOfWork.Commit();
            return(new Response
            {
                Mensaje = "Fabricacion realizada con éxito, a espera de definir la cantidad producida",
                Data = request.Map(fabricacion)
            });
        }
Beispiel #28
0
        private static void robotGetOrdenesFabricacion(string uuid, DBStorage db, TcpClient server, Fabricacion fabricacion, OrdenFabricacion ordenFabricacion)
        {
            StringBuilder str = new StringBuilder();

            // id;cantidad;c=craft/s=smelt,
            str.Append("MSG$$").Append(uuid).Append("&&").Append(ordenFabricacion.id).Append(";").Append(ordenFabricacion.cantidad).Append(";");

            if (ordenFabricacion.idCrafteo != null)
            {
                str.Append("C");
                Crafteo crafteo = db.getCrafteo((int)ordenFabricacion.idCrafteo);
                // minecraft_id:cant;minecraft_id:cant;minecraft_id:cant;minecraft_id:cant;minecraft_id:cant;minecraft_id:cant... (x9)
                if (crafteo.idArticuloSlot1 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot1).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot1);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot2 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot2).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot2);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot3 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot3).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot3);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot4 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot4).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot4);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot5 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot5).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot5);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot6 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot6).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot6);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot7 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot7).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot7);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot8 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot8).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot8);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
                if (crafteo.idArticuloSlot9 != null)
                {
                    str.Append(";").Append(db.getArticulo((short)crafteo.idArticuloSlot9).minecraftID).Append(";").Append(crafteo.cantidadArticuloSlot9);
                }
                else
                {
                    str.Append(";;").Append(0);
                }
            }
            else if (ordenFabricacion.idSmelting != null)
            {
                str.Append("S;");
                Smelting smelting = db.getSmelting((int)ordenFabricacion.idSmelting);
                // minecraft_id;cant
                str.Append(db.getArticulo(smelting.idArticuloEntrada).minecraftID).Append(";").Append(fabricacion.hornoSide);
            }
            else
            {
                return;
            }

            str.Append(";" + fabricacion.cofreSide);
            db.setOrdenFabricacionReady(ordenFabricacion.id, ordenFabricacion.idAlmacen, ordenFabricacion.idFabricacion);
            Console.WriteLine(str.ToString());
            enviarMensaje(server, str.ToString());
        }
Beispiel #29
0
        public void ListaDeFabricacionesVacia()
        {
            Fabricacion fabricacion = new Fabricacion();

            fabricacion.VerificarListaDeFabricaciones();
        }
Beispiel #30
0
 /// <summary>
 /// Constructor que instancia los atributos fabrica y fabricacion
 /// </summary>
 /// <param name="fabrica"></param>
 /// <param name="fabricacion"></param>
 public FrmAlternadores(Fabrica fabrica, Fabricacion fabricacion)
 {
     InitializeComponent();
     this.fabricacion = fabricacion;
     this.fabrica     = fabrica;
 }