public void Fill(CargarDatosContext c, Int32 edificioId, Int32?anio)
        {
            baseFill(c);
            EdifiId = edificioId;
            Anio    = anio;

            if (!this.Anio.HasValue)
            {
                this.Anio = DateTime.Now.Year;
            }

            var anioMinimo = c.context.UnidadTiempo.Min(x => x.Anio);
            var anioActual = DateTime.Now.Year;

            for (int i = 0; i <= anioActual - anioMinimo; i++)
            {
                var value = (anioActual - i).ToString();
                LstAnios.Add(new SelectListItem {
                    Value = value, Text = value
                });
            }

            if (this.Anio.HasValue)
            {
                LstDatos = c.context.DatoEdificio.Where(X => X.EdificioId == EdifiId &&
                                                        X.UnidadTiempo.Anio == this.Anio && X.Dato == X.Nombre).OrderBy(X => X.UnidadTiempo.Orden).ToList();
            }
            else
            {
                LstDatos = c.context.DatoEdificio.Where(X => X.EdificioId == EdifiId && X.Dato == X.Nombre).OrderBy(X => X.UnidadTiempo.Orden).ToList();
            }

            MaxOrden = (LstDatos.Max(x => x.Orden) ?? 0) + 1;
        }
示例#2
0
        public void GetReporte(DateTime fechaDesde, DateTime fechaHasta, string ListaAgenciaOrigen, string ListaAgenciaDestino, string ListaEstadoUbicacion, string ListaEstadoMovimiento, string ListaEstadoEntrega, string ListaEstadoAdministrativo, string ListaEstadoDevolucion, string ListaPuntoRecepcion, string ListaCliente, string ListaConcepto, bool MostrarGuias, bool MostrarFacturas, bool ConsultaZonaOrigen, bool ConsultaZonaDestino, bool ConsultaCategoriaConcepto, string TipoGuia, int UsuarioID, int CondicionPagoID)
        {
            try
            {
                DataTable    ds                              = new DataTable();
                SqlParameter pFechaDesde                     = new SqlParameter("@FechaDesde", fechaDesde),
                             pFechaHasta                     = new SqlParameter("@FechaHasta", fechaHasta),
                             pAgenciasOrigen                 = new SqlParameter("@AgenciasOrigen", ListaAgenciaOrigen),
                             pAgenciasDestino                = new SqlParameter("@AgenciasDestino", ListaAgenciaDestino),
                             pZonasOrigen                    = new SqlParameter("@ZonaAgOrigen", ConsultaZonaOrigen),
                             pZonasDestino                   = new SqlParameter("@ZonaAgDestino", ConsultaZonaDestino),
                             pEstadosUbicacion               = new SqlParameter("@EstadosUbicacion", ListaEstadoUbicacion),
                             pEstadosMovimiento              = new SqlParameter("@EstadosMovimiento", ListaEstadoMovimiento),
                             pEstadosEntrega                 = new SqlParameter("@EstadosEntrega", ListaEstadoEntrega),
                             pEstadosAdministrativo          = new SqlParameter("@EstadosAdministrativo", ListaEstadoAdministrativo),
                             pEstadosDevolucion              = new SqlParameter("@EstadosDevolucion", ListaEstadoDevolucion),
                             pConceptosFacturacion           = new SqlParameter("@ConceptosFacturacion", ListaConcepto),
                             pCategoriasConceptosFacturacion = new SqlParameter("@CategoriasConceptosFacturacion", ConsultaCategoriaConcepto),
                             pClientes                       = new SqlParameter("@Clientes", Utiles.BaseDatos.StrToSql(ListaCliente)),
                             pMostrarGuias                   = new SqlParameter("@MostrarGuias ", MostrarGuias),
                             pMostrarFacturas                = new SqlParameter("@MostrarFacturas ", MostrarFacturas),
                             pTipoGuia                       = new SqlParameter("@TipoGuia", TipoGuia),
                             pUsuarioID                      = new SqlParameter("@UsuarioID", Utiles.BaseDatos.IntToSql(UsuarioID)),
                             pCondicionPagoID                = new SqlParameter("@CondicionPagoID", Utiles.BaseDatos.IntToSql(CondicionPagoID));

                Config.Conexion.LlenarTypeDataSet(ds, System.Data.CommandType.StoredProcedure, "ReporteConceptoFacturacion", pFechaDesde, pFechaHasta, pAgenciasOrigen, pAgenciasDestino, pZonasOrigen, pZonasDestino, pEstadosUbicacion, pEstadosMovimiento, pEstadosEntrega, pEstadosAdministrativo, pEstadosDevolucion, pConceptosFacturacion, pCategoriasConceptosFacturacion, pClientes, pMostrarGuias, pMostrarFacturas, pTipoGuia, pUsuarioID, pCondicionPagoID);

                ReporteConceptoFacturacion _reporte;
                foreach (DataRow r in ds.Rows)
                {
                    _reporte = new ReporteConceptoFacturacion()
                    {
                    };

                    if (r.IsNull("GuiaID") == false)
                    {
                        _reporte.GuiaID = Int32.Parse(r["GuiaID"].ToString());
                    }
                    else
                    {
                        _reporte.GuiaID = null;
                    }

                    if (r.IsNull("FacturaID") == false)
                    {
                        _reporte.FacturaID = Int32.Parse(r["FacturaID"].ToString());
                    }
                    else
                    {
                        _reporte.FacturaID = null;
                    }

                    if (r.IsNull("FechaEmision") == false)
                    {
                        _reporte.FechaEmision = DateTime.Parse(r["FechaEmision"].ToString());
                    }
                    else
                    {
                        _reporte.FechaEmision = new DateTime(1900, 1, 1);
                    }

                    if (r.IsNull("NroGuia") == false)
                    {
                        _reporte.NroGuia = r["NroGuia"].ToString();
                    }
                    else
                    {
                        _reporte.NroGuia = "";
                    }

                    if (r.IsNull("AgenciaEmisoraDescrip") == false)
                    {
                        _reporte.AgenciaEmisoraDescrip = r["AgenciaEmisoraDescrip"].ToString();
                    }
                    else
                    {
                        _reporte.AgenciaEmisoraDescrip = null;
                    }

                    if (r.IsNull("AgenciaDestinoDescrip") == false)
                    {
                        _reporte.AgenciaDestinoDescrip = r["AgenciaDestinoDescrip"].ToString();
                    }
                    else
                    {
                        _reporte.AgenciaDestinoDescrip = null;
                    }

                    if (r.IsNull("CondicionPagoDescrip") == false)
                    {
                        _reporte.CondicionPagoDescrip = r["CondicionPagoDescrip"].ToString();
                    }
                    else
                    {
                        _reporte.CondicionPagoDescrip = "";
                    }

                    if (r.IsNull("AgenciaEmisoraID") == false)
                    {
                        _reporte.AgenciaEmisoraID = Int32.Parse(r["AgenciaEmisoraID"].ToString());
                    }
                    else
                    {
                        _reporte.AgenciaEmisoraID = null;
                    }

                    if (r.IsNull("AgenciaDestinoID") == false)
                    {
                        _reporte.AgenciaDestinoID = Int32.Parse(r["AgenciaDestinoID"].ToString());
                    }
                    else
                    {
                        _reporte.AgenciaDestinoID = null;
                    }

                    if (r.IsNull("ConceptoFacturacionID") == false)
                    {
                        _reporte.ConceptoFacturacionID = Int32.Parse(r["ConceptoFacturacionID"].ToString());
                    }
                    else
                    {
                        _reporte.ConceptoFacturacionID = null;
                    }

                    if (r.IsNull("ConceptoFacturacionDescrip") == false)
                    {
                        _reporte.ConceptoFacturacionDescrip = r["ConceptoFacturacionDescrip"].ToString();
                    }
                    else
                    {
                        _reporte.ConceptoFacturacionDescrip = "";
                    }

                    if (r.IsNull("RazonSocialCliente") == false)
                    {
                        _reporte.RazonSocialCliente = r["RazonSocialCliente"].ToString();
                    }
                    else
                    {
                        _reporte.RazonSocialCliente = "";
                    }

                    if (r.IsNull("tope") == false)//se agrego bultos/kilos. Florencia Quiroga. 15/09/2014
                    {
                        _reporte.tope = Double.Parse(r["tope"].ToString());
                    }
                    else
                    {
                        _reporte.tope = 0;
                    }

                    if (r.IsNull("ImporteNeto") == false)
                    {
                        _reporte.ImporteNeto = Double.Parse(r["ImporteNeto"].ToString());
                    }
                    else
                    {
                        _reporte.ImporteNeto = 0;
                    }

                    if (r.IsNull("ImporteTotal") == false)
                    {
                        _reporte.ImporteTotal = Double.Parse(r["ImporteTotal"].ToString());
                    }
                    else
                    {
                        _reporte.ImporteTotal = 0;
                    }

                    if (r.IsNull("EstadoUbicacion") == false)
                    {
                        _reporte.EstadoUbicacion = r["EstadoUbicacion"].ToString();
                    }
                    else
                    {
                        _reporte.EstadoUbicacion = "";
                    }

                    if (r.IsNull("EstadoMovimiento") == false)
                    {
                        _reporte.EstadoMovimiento = r["EstadoMovimiento"].ToString();
                    }
                    else
                    {
                        _reporte.EstadoMovimiento = "";
                    }

                    if (r.IsNull("EstadoEntrega") == false)
                    {
                        _reporte.EstadoEntrega = r["EstadoEntrega"].ToString();
                    }
                    else
                    {
                        _reporte.EstadoEntrega = "";
                    }

                    if (r.IsNull("EstadoAdministrativo") == false)
                    {
                        _reporte.EstadoAdministrativo = r["EstadoAdministrativo"].ToString();
                    }
                    else
                    {
                        _reporte.EstadoAdministrativo = "";
                    }

                    if (r.IsNull("EstadoDevolucion") == false)
                    {
                        _reporte.EstadoDevolucion = r["EstadoDevolucion"].ToString();
                    }
                    else
                    {
                        _reporte.EstadoDevolucion = "";
                    }

                    if (r.IsNull("UsuarioDescrip") == false)
                    {
                        _reporte.UsuarioDescrip = r["UsuarioDescrip"].ToString();
                    }
                    else
                    {
                        _reporte.UsuarioDescrip = "";
                    }

                    LstDatos.Add((IReporteConceptoFacturacion)_reporte);
                }


                //Resumido
                var conceptosAgrupados = from concepto in this.LstDatos
                                         group concepto by concepto.ConceptoFacturacionID into newGroup
                                         orderby newGroup.Key
                                         select newGroup;

                foreach (var item in conceptosAgrupados)
                {
                    ReporteConceptoFacturacion rep = new ReporteConceptoFacturacion();
                    double neto     = 0;
                    double total    = 0;
                    double tope     = 0;//se agrego bultos/kilos. Florencia Quiroga. 15/09/2014
                    string concepto = string.Empty;
                    int    i        = 0;
                    foreach (var detalle in item)
                    {
                        if ((detalle == null) == false)
                        {
                            neto     = neto + detalle.ImporteNeto;
                            total    = total + detalle.ImporteTotal;
                            concepto = detalle.ConceptoFacturacionDescrip;
                            tope     = tope + detalle.tope;//se agrego bultos/kilos. Florencia Quiroga. 15/09/2014
                            i        = i + 1;
                        }
                    }
                    rep.ImporteNeto  = neto;
                    rep.ImporteTotal = total;
                    rep.ConceptoFacturacionDescrip = concepto;
                    rep.CantidadGuias = i;
                    rep.tope          = tope;
                    this.LstDatosResumido.Add(rep);
                }

                LstDatosResumido = LstDatosResumido.OrderBy(c => c.ConceptoFacturacionDescrip).ToList();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
        }
        public void fill(CargarDatosContext datacontext, String filtroTipo, String filtroNombre, String filtroDato, Int32?UnidadTiempoId, Int32 EdificioId, Int32?Anio)
        {
            baseFill(datacontext);
            this.EdificioId     = EdificioId;
            this.filtroDato     = filtroDato;
            this.filtroTipo     = filtroTipo;
            this.filtroNombre   = filtroNombre;
            this.UnidadTiempoId = UnidadTiempoId;
            this.Anio           = Anio;

            if (!this.Anio.HasValue)
            {
                this.Anio = DateTime.Now.Year;
            }

            var anioMinimo = datacontext.context.UnidadTiempo.Min(x => x.Anio);
            var anioActual = DateTime.Now.Year;

            for (int i = 0; i <= anioActual - anioMinimo; i++)
            {
                var value = (anioActual - i).ToString();
                LstAnios.Add(new SelectListItem {
                    Value = value, Text = value
                });
            }

            if (this.Anio.HasValue)
            {
                if (!String.IsNullOrEmpty(filtroTipo))
                {
                    if (filtroTipo.Contains("Crono") || filtroTipo.Contains("Equipo"))
                    {
                        LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId &&
                                                                          X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderBy(X => X.Orden).ToList();
                    }
                    else
                    {
                        LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId &&
                                                                          X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList();
                    }
                }
                else
                {
                    LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId &&
                                                                      X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList();
                }
            }
            else
            {
                if (!String.IsNullOrEmpty(filtroTipo))
                {
                    if (filtroTipo.Contains("Crono") || filtroTipo.Contains("Equipo"))
                    {
                        LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderBy(X => X.Orden).ToList();
                    }
                    else
                    {
                        LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList();
                    }
                }
                else
                {
                    LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList();
                }
            }
            LstDatos.AddRange(datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre && X.UnidadTiempoId == null).ToList());

            MaxOrden = (LstDatos.Max(x => x.Orden) ?? 0) + 1;
            if (!String.IsNullOrWhiteSpace(filtroTipo))
            {
                LstDatos = LstDatos.Where(X => X.Tipo.Contains(filtroTipo)).ToList();
            }
            if (!String.IsNullOrWhiteSpace(filtroNombre))
            {
                LstDatos = LstDatos.Where(X => X.Nombre.Contains(filtroNombre)).ToList();
            }
            if (!String.IsNullOrWhiteSpace(filtroDato))
            {
                LstDatos = LstDatos.Where(X => X.Dato.Contains(filtroDato)).ToList();
            }
            //if (UnidadTiempoId.HasValue) LstDatos = LstDatos.Where(X => (X.UnidadTiempoId ?? -1) == UnidadTiempoId.Value).ToList();
        }