Example #1
0
        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;
            }
        }
Example #2
0
        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;
            }
        }