public static TipoRespuestaGrilla LiquidacionGrilla(int Estado, string Proveedor, string Sucursal, string FlujoONBase, string Placa, DateTime FechaIncio, DateTime FechaFin)
        {
            TipoRespuestaGrilla objRespuesta = new TipoRespuestaGrilla();
            string strSelect, strWhere, strGroupby;

            strSelect  = "SELECT l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,sum(l.[precious]) as Total, SUM(CASE liquidacion WHEN 'True' THEN preciobs WHEN 'False' THEN 0 END) as sumabspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN preciobs END) as sumabsnopagado,SUM(CASE liquidacion WHEN 'True' THEN precious WHEN 'False' THEN 0 END) as sumauspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN precious END) as sumausnopagado,f.flujoOnBase,f.nombreAsegurado FROM liquidacion001 as l inner join Flujo as f ON (l.id_flujo=f.idFlujo) ";
            strWhere   = "WHERE f.estado=" + Estado.ToString() + " and l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter ";
            strGroupby = "GROUP BY l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,f.flujoOnBase,f.nombreAsegurado";

            string         strComando   = strSelect + strWhere + strGroupby;
            SqlConnection  sqlConexion  = new SqlConnection(CotizacionICRL.strCadenaConexion);
            SqlDataAdapter sqlAdaptador = new SqlDataAdapter(strComando, sqlConexion);

            try
            {
                if (Sucursal.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.f.agenciaAtencion = '" + Sucursal.Trim() + "' ";
                }
                if (FlujoONBase.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.flujoOnBase = '" + FlujoONBase.Trim() + "' ";
                }
                if (Placa.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.placaVehiculo = '" + Placa.Trim() + "' ";
                }
                if (Proveedor.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.placaVehiculo = '" + Proveedor.Trim() + "' ";
                }
                sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio;
                sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin;
                sqlConexion.Open();
                sqlAdaptador.Fill(objRespuesta.dsLiquidacionGrilla);
                sqlAdaptador.Dispose();
                objRespuesta.correcto = true;
            }
            catch (Exception ex)
            {
                objRespuesta.correcto = false;
                objRespuesta.mensaje  = "No se puo traer el detalle de las liquidaciones debido a: " + ex.Message;
            }
            finally
            {
                sqlConexion.Close();
                sqlConexion.Dispose();
            }
            return(objRespuesta);
        }
Example #2
0
        public static TipoRespuestaGrilla LiquidacionGrilla(int Estado, string Proveedor, string Sucursal, string FlujoONBase, string Placa, DateTime FechaIncio, DateTime FechaFin)
        {
            TipoRespuestaGrilla objRespuesta = new TipoRespuestaGrilla();
            string strSelect, strWhere, strGroupby;

            strSelect = "SELECT l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,sum(l.[precious]) as Total, SUM(CASE liquidacion WHEN 'True' THEN preciobs WHEN 'False' THEN 0 END) as sumabspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN preciobs END) as sumabsnopagado,SUM(CASE liquidacion WHEN 'True' THEN precious WHEN 'False' THEN 0 END) as sumauspagado, SUM(CASE liquidacion WHEN 'True' THEN 0 WHEN 'False' THEN precious END) as sumausnopagado,f.flujoOnBase,f.nombreAsegurado,f.placaVehiculo,f.idFlujo FROM liquidacion001 as l inner join Flujo as f ON (l.id_flujo=f.idFlujo) ";
            if (Estado > 0)
            {
                strWhere = "WHERE f.estado=" + Estado.ToString() + " and l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter ";
            }
            else
            {
                strWhere = "WHERE l.fecha_orden>= @fecha_orden_emp and l.fecha_orden <= @fecha_orden_ter ";
            }
            strGroupby = "GROUP BY l.[numero_orden],l.[fecha_orden],l.[proveedor],l.id_estado,f.flujoOnBase,f.nombreAsegurado,f.placaVehiculo,f.idFlujo";

            string         strComando;
            SqlConnection  sqlConexion = new SqlConnection(CotizacionICRL.strCadenaConexion);
            SqlDataAdapter sqlAdaptador;

            try
            {
                if (Sucursal.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.agenciaAtencion = '" + Sucursal.Trim() + "' ";
                }
                if (FlujoONBase.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.flujoOnBase = '" + FlujoONBase.Trim() + "' ";
                }
                if (Placa.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND f.placaVehiculo = '" + Placa.Trim() + "' ";
                }
                if (Proveedor.Trim().Length > 0)
                {
                    strWhere = strWhere + "AND l.proveedor = '" + Proveedor.Trim() + "' ";
                }

                strComando = strSelect + strWhere + strGroupby;
                SqlCommand    sqlComando = new SqlCommand(strComando, sqlConexion);
                SqlDataReader sqlDatos;
                sqlAdaptador = new SqlDataAdapter(strComando, sqlConexion);
                sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio;
                sqlAdaptador.SelectCommand.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin;
                TipoGrilla tdpFila;

                sqlComando.Parameters.Add("@fecha_orden_emp", System.Data.SqlDbType.DateTime).Value = FechaIncio;
                sqlComando.Parameters.Add("@fecha_orden_ter", System.Data.SqlDbType.DateTime).Value = FechaFin;
                sqlConexion.Open();
                sqlDatos = sqlComando.ExecuteReader();

                //Estado codigo a descripcion (A)
                AccesoDatos             adatos     = new AccesoDatos();
                List <ListaNomenclador> estadosnom = adatos.FlTraeNomenGenerico("Estados", 0);

                while (sqlDatos.Read())
                {
                    tdpFila = new TipoGrilla();
                    tdpFila.numero_orden     = sqlDatos["numero_orden"] != DBNull.Value ? sqlDatos["numero_orden"].ToString() : string.Empty;
                    tdpFila.fecha_orden      = sqlDatos["fecha_orden"] != DBNull.Value ? sqlDatos["fecha_orden"].ToString() : string.Empty;
                    tdpFila.proveedor        = sqlDatos["proveedor"] != DBNull.Value ? sqlDatos["proveedor"].ToString() : string.Empty;
                    tdpFila.id_estado        = sqlDatos["id_estado"] != DBNull.Value ? sqlDatos["id_estado"].ToString() : string.Empty;
                    tdpFila.total            = sqlDatos["Total"] != DBNull.Value ? sqlDatos["Total"].ToString() : string.Empty;
                    tdpFila.pagadobs         = sqlDatos["sumabspagado"] != DBNull.Value ? sqlDatos["sumabspagado"].ToString() : string.Empty;
                    tdpFila.nopagadobs       = sqlDatos["sumabsnopagado"] != DBNull.Value ? sqlDatos["sumabsnopagado"].ToString() : string.Empty;
                    tdpFila.pagadous         = sqlDatos["sumauspagado"] != DBNull.Value ? sqlDatos["sumauspagado"].ToString() : string.Empty;
                    tdpFila.nopagadous       = sqlDatos["sumausnopagado"] != DBNull.Value ? sqlDatos["sumausnopagado"].ToString() : string.Empty;
                    tdpFila.flujo_onbase     = sqlDatos["flujoOnBase"] != DBNull.Value ? sqlDatos["flujoOnBase"].ToString() : string.Empty;
                    tdpFila.nombre_asegurado = sqlDatos["nombreAsegurado"] != null ? sqlDatos["nombreAsegurado"].ToString() : string.Empty;
                    tdpFila.placa            = sqlDatos["placaVehiculo"] != DBNull.Value ? sqlDatos["placaVehiculo"].ToString() : string.Empty;
                    tdpFila.id_flujo         = sqlDatos["idFlujo"] != DBNull.Value ? sqlDatos["idFlujo"].ToString() : string.Empty;

                    //Formatear fecha
                    if (!string.IsNullOrWhiteSpace(tdpFila.fecha_orden))
                    {
                        tdpFila.fecha_orden = Convert.ToDateTime(tdpFila.fecha_orden).ToString("dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                    }

                    //Estado codigo a descripcion (B)
                    foreach (ListaNomenclador estadonom in estadosnom)
                    {
                        if (estadonom.codigo.Trim() == tdpFila.id_estado.Trim())
                        {
                            tdpFila.id_estado = estadonom.descripcion;
                            break;
                        }
                    }

                    objRespuesta.listaLiquidacionGrilla.Add(tdpFila);
                }

                sqlDatos.Close();
                sqlComando.Dispose();
                sqlAdaptador.Fill(objRespuesta.dsLiquidacionGrilla);
                sqlAdaptador.Dispose();
                objRespuesta.correcto = true;
            }
            catch (Exception ex)
            {
                objRespuesta.correcto = false;
                objRespuesta.mensaje  = "No se puo traer el detalle de las liquidaciones debido a: " + ex.Message;
            }
            finally
            {
                sqlConexion.Close();
                sqlConexion.Dispose();
            }
            return(objRespuesta);
        }