public void ConsultaConvenioDet(int Id_PC, ref List <ConvenioDet> List, string Conexion) { try { CD_Datos cd_datos = new CD_Datos(Conexion); SqlDataReader dr = null; string[] Parametros = { "@Id_PC" }; object[] Valores = { Id_PC }; SqlCommand sqlcmd = cd_datos.GenerarSqlCommand("spProPrecioConvenioDet_Consulta", ref dr, Parametros, Valores); ConvenioDet c; while (dr.Read()) { c = new ConvenioDet(); c.Id_Prd = Convert.ToInt32(dr["Id_Prd"]); c.PCD_ClaveProv = dr["PCD_ClaveProv"].ToString(); c.Prd_Descripcion = dr["Prd_Descripcion"].ToString(); c.PCD_PrecioVtaMin = Convert.ToDouble(dr["PCD_PrecioVtaMin"]); c.PCD_PrecioVtaMax = Convert.ToDouble(dr["PCD_PrecioVtaMax"]); //c.PCD_PrecioAAAEsp = Convert.ToDouble(dr["PCD_PrecioAAAEsp"]); c.PCD_CantidadMax = Convert.ToInt32(dr["PCD_CantidadMax"]); c.Id_Moneda = Convert.ToInt32(dr["Id_Moneda"]); c.Id_MonedaStr = dr["Id_MonedaStr"].ToString(); //c.PCD_FechaInicio = Convert.ToDateTime(dr["PCD_FechaInicio"]); //c.PCD_FechaFin = Convert.ToDateTime(dr["PCD_FechaFin"]); c.PCD_CatDesp = dr["PCD_CatDesp"].ToString(); //Anterior:la fecha fin es menor a la fecha actual c.PCD_PrecioAAAEspA = dr["PCD_PrecioAAAEspA"].ToString() == "" ? (Double?)null : Convert.ToDouble(dr["PCD_PrecioAAAEspA"]); c.PCD_FechaInicioA = dr["PCD_FechaInicioA"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaInicioA"]); c.PCD_FechaFinA = dr["PCD_FechaFinA"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaFinA"]); //Actual:La fecha inicio es menor a la fecha actual y la fecha fin es mayor a la fecha actual c.PCD_PrecioAAAEsp = dr["PCD_PrecioAAAEsp"].ToString() == "" ? (Double?)null : Convert.ToDouble(dr["PCD_PrecioAAAEsp"]); c.PCD_FechaInicio = dr["PCD_FechaInicio"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaInicio"]); c.PCD_FechaFin = dr["PCD_FechaFin"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaFin"]); //Futuro: La fecha inicio es mayor a la fecha actual c.PCD_PrecioAAAEspC = dr["PCD_PrecioAAAEspC"].ToString() == "" ? (Double?)null : Convert.ToDouble(dr["PCD_PrecioAAAEspC"]); c.PCD_FechaInicioC = dr["PCD_FechaInicioC"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaInicioC"]); c.PCD_FechaFinC = dr["PCD_FechaFinC"].ToString() == "" ? (DateTime?)null : Convert.ToDateTime(dr["PCD_FechaFinC"]); c.PCD_FechaFinVer = Convert.ToDateTime(dr["PCD_FechaFinVer"]); List.Add(c); } cd_datos.LimpiarSqlcommand(ref sqlcmd); } catch (Exception ex) { throw ex; } }
private void CargarGrid(ref List <ConvenioDet> List) { try { OleDbConnection con = default(OleDbConnection); string path = Server.MapPath("~/App_Data/RadUploadTemp") + "\\" + NombreArchivo; foreach (UploadedFile f in RadUpload1.UploadedFiles) { if (File.Exists(path)) { File.Delete(path); } f.SaveAs(path, true); } string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + path + "';Extended Properties=\"Excel 12.0 xml;HDR=YES;IMEX=1;\""; con = new OleDbConnection(strConn); con.Close(); con.Open(); DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); string hoja = dt.Rows[0].ItemArray[2].ToString().Replace("'", ""); OleDbCommand cmd = new OleDbCommand("select * from [" + hoja + "]", con); OleDbDataAdapter dad = new OleDbDataAdapter(); dad.SelectCommand = cmd; DataSet ds = new DataSet(); dad.Fill(ds); if (ListDet != null) { List = ListDet; } ConvenioDet c; foreach (DataRow dr in ds.Tables[0].Rows) { c = new ConvenioDet(); if (dr[0].ToString() != "") { //Entidad ent = entidades.FirstOrDefault(o => o.Nombre == label5.Text); c = List.FirstOrDefault(o => o.Id_Prd == Convert.ToInt32(dr[0])); if (c != null) { c.PCD_ClaveProv = dr[1].ToString(); c.PCD_PrecioVtaMin = Convert.ToDouble(dr[2]); c.PCD_PrecioVtaMax = Convert.ToDouble(dr[3]); c.PCD_CantidadMax = Convert.ToInt32(dr[4]); c.Id_Moneda = Convert.ToInt32(dr[5]); c.Id_MonedaStr = Convert.ToInt32(dr[5]) == 1 ? "Dlls" : "Mx"; //c.PCD_PrecioAAAEsp = Convert.ToDouble(dr[6]); //c.PCD_FechaInicio = Convert.ToDateTime(dr[7]); //Anterior:la fecha fin es menor a la fecha actual c.PCD_PrecioAAAEspA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDouble(dr[6]) : c.PCD_PrecioAAAEspA; c.PCD_FechaInicioA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDateTime(dr[7]) : c.PCD_FechaInicioA; c.PCD_FechaFinA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDateTime(dr[8]) : c.PCD_FechaFinA; //Actual:La fecha inicio es menor a la fecha actual y la fecha fin es mayor a la fecha actual c.PCD_PrecioAAAEsp = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDouble(dr[6]) : c.PCD_PrecioAAAEsp; c.PCD_FechaInicio = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDateTime(dr[7]) : c.PCD_FechaInicio; c.PCD_FechaFin = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDateTime(dr[8]) : c.PCD_FechaFin; //Futuro: La fecha inicio es mayor a la fecha actual c.PCD_PrecioAAAEspC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDouble(dr[6]) : c.PCD_PrecioAAAEspC; c.PCD_FechaInicioC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDateTime(dr[7]) : c.PCD_FechaInicioC; c.PCD_FechaFinC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDateTime(dr[8]) : c.PCD_FechaFinC; c.PCD_CatDesp = dr[9].ToString(); if (c.PCD_FechaFinC != (DateTime?)null) { c.PCD_FechaFinVer = c.PCD_FechaFinC; } else if (c.PCD_FechaFin != (DateTime?)null) { c.PCD_FechaFinVer = c.PCD_FechaFin; } else { c.PCD_FechaFinVer = c.PCD_FechaFinA; } } else { c = new ConvenioDet(); c.Id_Prd = Convert.ToInt32(dr[0]); c.PCD_ClaveProv = dr[1].ToString(); c.Prd_Descripcion = DescripcionProducto(Convert.ToInt32(dr[0])); c.PCD_PrecioVtaMin = Convert.ToDouble(dr[2]); c.PCD_PrecioVtaMax = Convert.ToDouble(dr[3]); c.PCD_CantidadMax = Convert.ToInt32(dr[4]); c.Id_Moneda = Convert.ToInt32(dr[5]); c.Id_MonedaStr = Convert.ToInt32(dr[5]) == 1 ? "Dlls" : "Mx"; //c.PCD_PrecioAAAEsp = Convert.ToDouble(dr[6]); //c.PCD_FechaInicio = Convert.ToDateTime(dr[7]); //Anterior:la fecha fin es menor a la fecha actual c.PCD_PrecioAAAEspA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDouble(dr[6]) : (Double?)null; c.PCD_FechaInicioA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDateTime(dr[7]) : (DateTime?)null; c.PCD_FechaFinA = Convert.ToDateTime(dr[8]) < DateTime.Now ? Convert.ToDateTime(dr[8]) : (DateTime?)null; //Actual:La fecha inicio es menor a la fecha actual y la fecha fin es mayor a la fecha actual c.PCD_PrecioAAAEsp = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDouble(dr[6]) : (Double?)null; c.PCD_FechaInicio = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDateTime(dr[7]) : (DateTime?)null; c.PCD_FechaFin = (Convert.ToDateTime(dr[7]) <= DateTime.Now && Convert.ToDateTime(dr[8]) >= DateTime.Now) ? Convert.ToDateTime(dr[8]) : (DateTime?)null; //Futuro: La fecha inicio es mayor a la fecha actual c.PCD_PrecioAAAEspC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDouble(dr[6]) : (Double?)null; c.PCD_FechaInicioC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDateTime(dr[7]) : (DateTime?)null; c.PCD_FechaFinC = Convert.ToDateTime(dr[7]) > DateTime.Now ? Convert.ToDateTime(dr[8]) : (DateTime?)null;; c.PCD_CatDesp = dr[9].ToString(); if (c.PCD_FechaFinC != (DateTime?)null) { c.PCD_FechaFinVer = c.PCD_FechaFinC; } else if (c.PCD_FechaFin != (DateTime?)null) { c.PCD_FechaFinVer = c.PCD_FechaFin; } else { c.PCD_FechaFinVer = c.PCD_FechaFinA; } List.Add(c); } } } ListDet = List; //lblMensaje.Text = "cerrada la conexion|"; //BulkCopy(path, hoja); ////lblMensaje.Text = "En base de datos|"; //GuardarDeExcel(); ////lblMensaje.Text = "Finalizado"; try { File.Delete(path); } catch { } } catch (Exception ex) { throw ex; } }