public ServicioOrdenSalida()
 {
     OrdenSalidaArchivo   = new OrdenSalidaArchivo();
     DetalleSalidaArchivo = new DetalleSalidaArchivo();
     ProyectoArchivo      = new ProyectoArchivo();
     ArticuloArchivo      = new ArticuloArchivo();
 }
        public void Modificar(Orden ordenSalida)
        {
            List <string[]> registrosModificados = new List <string[]>();

            OrdenSalidaArchivo.Modificar(ordenSalida);
            foreach (Detalle detalleSalida in ordenSalida.Detalles)
            {
                registrosModificados.Add(DetalleSalidaArchivo.Modificar(detalleSalida));
            }
            OnOrdenSalidaModificada(new OrdenModificadaDetalles(ordenSalida, registrosModificados));
        }
        public int Agregar(Orden ordenSalida)
        {
            int idSalida = OrdenSalidaArchivo.Guardar(ordenSalida);

            foreach (Detalle detalleSalida in ordenSalida.Detalles)
            {
                detalleSalida.IdOrden = idSalida;
                DetalleSalidaArchivo.Guardar(detalleSalida);
            }

            OnNuevaOrdenSalida(new NuevaOrdenDetalles(ordenSalida));
            return(idSalida);
        }
        public Orden ObtenerOrdenSalidaPorId(int idOrden)
        {
            Orden ordenEntrada = OrdenSalidaArchivo.ObtenerOrdenSalidaPorId(idOrden);

            if (ordenEntrada != null)
            {
                Proyecto proyecto = ProyectoArchivo.ObtenerProyecto(ordenEntrada.Proyecto.Id);
                ordenEntrada.Proyecto = proyecto;
                ordenEntrada.Detalles = DetalleSalidaArchivo.ObtenerDetalleSalidas(ordenEntrada.Id);
                ObtenerArticulosPorDetalle(ordenEntrada);
            }

            return(ordenEntrada);
        }
        public List <Orden> ObtenerOrdenesSalida(int idProyecto)
        {
            List <Orden> ordenesSalida = OrdenSalidaArchivo.ObtenerOrdenesSalidas(idProyecto);

            foreach (Orden ordenSalida in ordenesSalida)
            {
                Proyecto proyecto = ProyectoArchivo.ObtenerProyecto(ordenSalida.Proyecto.Id);
                ordenSalida.Proyecto = proyecto;
                ordenSalida.Detalles = DetalleSalidaArchivo.ObtenerDetalleSalidas(ordenSalida.Id);
                ObtenerArticulosPorDetalle(ordenSalida);
            }

            return(ordenesSalida);
        }
 public void Eliminar(int idOrdenSalida)
 {
     DetalleSalidaArchivo.Eliminar(idOrdenSalida);
     OrdenSalidaArchivo.Eliminar(idOrdenSalida);
 }