コード例 #1
0
        /// <summary>
        /// Ejecuta una consulta de inserción a la tabla Asignacion_de_ordenes_cab.
        /// </summary>
        /// <param name="asigOrdenCab">Objeto de tipo AsignacionOrdenCabDTO</param>
        /// <returns>Variable de tipo int con la cantidad de registros ingresados.</returns>
        public int InsertAsignacionOrdenCabecera(AsignacionOrdenCabDTO asigOrdenCab)
        {
            List <SqlParameter> _sqlParam = new List <SqlParameter>();

            string query = @"
                insert into Asignacion_de_ordenes_cab values(
	                @catoperacion, 
	                @nroasignacion, 
	                @codproveedor, 
	                convert(date, @fechageneracion), 
	                convert(date, @fechaentrega), 
	                0, @usuario, 
	                convert(date, @fechageneracion),
	                @horageneracion, null, null, @completo
                )";

            _sqlParam.Add(new SqlParameter("@catoperacion", SqlDbType.Int)
            {
                Value = asigOrdenCab.CodCatOperacion
            });
            _sqlParam.Add(new SqlParameter("@nroasignacion", SqlDbType.VarChar)
            {
                Value = asigOrdenCab.NroAsignacion
            });
            _sqlParam.Add(new SqlParameter("@codproveedor", SqlDbType.VarChar)
            {
                Value = asigOrdenCab.CodProveedor
            });
            _sqlParam.Add(new SqlParameter("@fechageneracion", SqlDbType.DateTime)
            {
                Value = asigOrdenCab.FechaGeneracion
            });
            _sqlParam.Add(new SqlParameter("@fechaentrega", SqlDbType.DateTime)
            {
                Value = asigOrdenCab.FechaEntrega
            });
            _sqlParam.Add(new SqlParameter("@usuario", SqlDbType.VarChar)
            {
                Value = asigOrdenCab.Usuario
            });
            _sqlParam.Add(new SqlParameter("@horageneracion", SqlDbType.VarChar)
            {
                Value = asigOrdenCab.HoraGeneracion
            });
            _sqlParam.Add(new SqlParameter("@completo", SqlDbType.SmallInt)
            {
                Value = asigOrdenCab.Completo
            });
            return(_trans.ExecuteQuery(query, _sqlParam));
        }
コード例 #2
0
        /// <summary>
        /// Genera un nuevo número de asignación y según las operaciones seleccionadas categoriza y sub-categoriza cada uno de sus procesos
        /// por modelo. Construye un nuevo objeto tipo AsignacionOrdenDetDTO por cada proceso y se dispone a ejecutar el procedimiento DAL
        /// de Insert Asignación Detalle, y otro objeto de tipo AsignacionOrdenDetDTO para el procedimiento de Insert Asignación Cabecera.
        /// </summary>
        /// <param name="listAasignar">Lista genérica de tipo AasignarDTO con los valores a Asignar</param>
        /// <param name="listLanzamientoDet">Lista genérica de tipo LanzamientoDetDTO con los lanzamientos</param>
        /// <param name="user">Nombre de Usuario</param>
        /// <returns>Arreglo de tipo int con dos valores: cantidad de cabeceras ingresadas, y cantidad de detalles ingresados.</returns>
        public int[] IngresarAsignacionOrden(List <AasignarDTO> listAasignar, List <LanzamientoDetDTO> listLanzamientoDet, string user)
        {
            string nroAsignacion  = NroDeOrdenAsignacion();
            int    filasInsertCab = 0;
            int    filasInsertDet = 0;

            foreach (var aAsignar in listAasignar)
            {
                if (aAsignar.Asignacion == "Si")
                {
                    int[] subcategoria;
                    int   categoriaOperacion = 0;
                    if (aAsignar.CodCatOperacion == 500)
                    {
                        subcategoria       = new int[] { 510, 530, 550 };
                        categoriaOperacion = 500;
                    }
                    else if (aAsignar.CodCatOperacion == 400)
                    {
                        subcategoria       = new int[] { 430, 440, 450, 460, 470 };
                        categoriaOperacion = 400;
                    }
                    else
                    {
                        subcategoria       = new int[] { aAsignar.CodCatOperacion };
                        categoriaOperacion = int.Parse(aAsignar.CodCatOperacion.ToString().Substring(0, 1) + "00");
                    }

                    foreach (int subcat in subcategoria)
                    {
                        foreach (var lanzDet in listLanzamientoDet)
                        {
                            if ((lanzDet.Modelo == aAsignar.Modelo) && (lanzDet.Color == aAsignar.Color))
                            {
                                foreach (int proceso in ProcesosPorModeloCategoria(lanzDet.Modelo, subcat))
                                {
                                    var asigOrdenDet = new AsignacionOrdenDetDTO()
                                    {
                                        CodCatOperacion = categoriaOperacion,
                                        NroAsignacion   = nroAsignacion,
                                        Orden           = lanzDet.Orden,
                                        Lote            = lanzDet.Lote,
                                        Categoria       = subcat,
                                        Proceso         = proceso,
                                        CodProveedor    = aAsignar.CodProveedor,
                                        FechaTermino    = aAsignar.FechaRetorno,
                                        //0X46 = 70
                                        Terminado  = 70,
                                        Color      = lanzDet.Color,
                                        Tallas     = lanzDet.Tallas,
                                        Cantidades = lanzDet.Piezas,
                                        Usuario    = user
                                    };
                                    int insDet = _asignacionOrdenesDal.InsertAsignacionOrdenDetalle(asigOrdenDet);
                                    filasInsertDet = filasInsertDet + insDet;
                                }
                            }
                        }
                    }
                    //Generar Cabecera de Asignacion de Ordenes
                    var _asigOrdenCab = new AsignacionOrdenCabDTO()
                    {
                        CodCatOperacion = categoriaOperacion,
                        NroAsignacion   = nroAsignacion,
                        CodProveedor    = aAsignar.CodProveedor,
                        FechaEntrega    = aAsignar.FechaRetorno,
                        Completo        = aAsignar.TodasOperaciones == true ? (short)1 : (short)0,
                        Usuario         = user
                    };
                    int insCab = _asignacionOrdenesDal.InsertAsignacionOrdenCabecera(_asigOrdenCab);
                    filasInsertCab = filasInsertCab + insCab;

                    //Generar siguiente numero de asignacion
                    nroAsignacion = (long.Parse(nroAsignacion) + 1).ToString();
                }
            }
            return(new int[] { filasInsertCab, filasInsertDet });
        }