Esempio n. 1
0
        /// <summary>
        /// Validar la conexion
        /// </summary>
        private bool validacionBD()
        {
            bool succes = true;
            try
            {
                this.addText("Comprobando la conectividad con la base de datos\n");
                Consultas consulta = new Consultas();
                consulta.getNMTGroup();
            }
            catch (Exception ex)
            {
                //Nombre de la BD
                string vg_BDConexion = ConfigurationManager.AppSettings["NombreBD"];
                if (ex.Message.Contains("error: 26"))
                {
                    this.addText("Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas.\n");
                    MessageBox.Show("Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas - " + ex.Message);
                    Debug.Write(ex.Message);
                    succes = false;
                }
                else if (ex.Message.Contains(vg_BDConexion))
                {
                    try
                    {
                        this.addText("No se detectó la base de datos, procediendo a la creación.\n");
                        ConexionBD cb = new ConexionBD();
                        FileInfo file = new FileInfo("Script\\Script.sql");
                        string script = file.OpenText().ReadToEnd();
                        cb.ejecutarScript("CREATE DATABASE " + vg_BDConexion + "; ");
                        cb.ejecutarScript(script.Replace("[NMTBASE]", vg_BDConexion));
                        System.Threading.Thread.Sleep(20000);
                        file = new FileInfo("Script\\ScriptSP.sql");
                        script = file.OpenText().ReadToEnd();
                        string[] creates = script.Split('|');
                        foreach (string sql in creates)
                        {
                            try
                            {
                                cb.ejecutarScriptBase(sql);
                            }
                            catch (Exception e)
                            {
                                MessageBox.Show("Error tratando de crear el stored procedure " + sql + " - " + e.Message);
                                Debug.Write(e.Message);
                            }
                        }
                        this.addText("Creación de base de datos completa.\n");
                        string delay = System.Configuration.ConfigurationManager.AppSettings["SegsTiempoComprobacionConexion"];
                        try
                        {
                            int delayNew = Convert.ToInt32(delay);
                            delayNew = delayNew + 5;
                            System.Threading.Thread.Sleep(delayNew * 1000);
                        }
                        catch (Exception)
                        {
                        }
                        this.reinitPrincipal();
                        if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.PrincipalWindow")
                        {
                            ((PrincipalWindow)parentWin).Dispatcher.Invoke(
                             System.Windows.Threading.DispatcherPriority.Normal,
                             new Action(
                               delegate()
                               {
                                   territorio = ((PrincipalWindow)parentWin).tbTerrirotio.Text;
                               }
                           ));

                        }
                        else if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.IndicadorWindow")
                        {
                            ((IndicadorWindow)parentWin).Dispatcher.Invoke(
                              System.Windows.Threading.DispatcherPriority.Normal,
                              new Action(
                                delegate()
                                {
                                    territorio = ((IndicadorWindow)parentWin).tbTerrirotio.Text;
                                }
                            ));

                        }
                    }
                    catch (FileNotFoundException ex1)
                    {
                        MessageBox.Show("No se encontró el script " + ex1.Message);
                        Debug.Write(ex1.Message);
                        succes = false;
                    }
                    catch (Exception ex2)
                    {
                        MessageBox.Show("Error relacionado con la red o específico de la instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o éste no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server está configurado para admitir conexiones remotas - " + ex2.Message);
                        Debug.Write(ex2.Message);
                        succes = false;
                    }
                }
            }
            return succes;
        }
Esempio n. 2
0
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_DistibucionPDVGrupo_Flt_Segmentacion().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Segmentacion", "Segmentacion", "Segmentacion", true);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 3
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_EfectividadMDZ_Flt_ProductSubfamilyCode().Tables[0];
     Filtro filterProductSubfamilyCode = Herramientas.Instance.obtenerFiltro(filtro1, "Product Subfamily Code", "ProductSubfamilyCode", "ProductSubfamilyCode", true);
     DataTable filtro2 = consulta.SelectKPI_EfectividadMDZ_Flt_ProductSubfamilyDescription().Tables[0];
     Filtro filterProductSubfamilyDescription = Herramientas.Instance.obtenerFiltro(filtro2, "Marca", "ProductSubfamilyDescription", "ProductSubfamilyDescription", true);//Subfamilia
     DataTable filtro3 = consulta.SelectKPI_EfectividadMDZ_Flt_IndustryLevel().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro3, "Potencial", "IndustryLevel", "IndustryLevel", false);
     filtros.Add(filterProductSubfamilyCode);
     filtros.Add(filterProductSubfamilyDescription);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 4
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Clientes_ITO_UX_Flt_IndustryLevel().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Potencial", "IndustryLevel", "IndustryLevel", false);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 5
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_SwitchSellingSKU_Flt_OriginalBrandDescription().Tables[0];
     Filtro filterOriginalBrandDescription = Herramientas.Instance.obtenerFiltro(filtro1, "Marca Original", "OriginalBrandDescription", "OriginalBrandDescription", false);
     DataTable filtro2 = consulta.SelectKPI_SwitchSellingSKU_Flt_TimeId().Tables[0];
     Filtro filterTimeId = Herramientas.Instance.obtenerFiltro(filtro2, "Ciclo", "TimeId", "TimeId", false);
     filtros.Add(filterOriginalBrandDescription);
     filtros.Add(filterTimeId);
     return filtros;
 }
Esempio n. 6
0
 /// <summary>
 /// 
 /// </summary>
 /// <returns></returns>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Agotamiento_Flt_IndustryLevel().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Potencial", "IndustryLevel", "IndustryLevel",false);
     DataTable filtro2 = consulta.SelectKPI_Agotamiento_Flt_BrandDescription().Tables[0];
     Filtro filterSBrandDescription = Herramientas.Instance.obtenerFiltro(filtro2, "Subfamilia", "BrandDescription", "BrandDescription", true);//Subfamilia
     DataTable filtro3 = consulta.SelectKPI_Agotamiento_Flt_BrandCode().Tables[0];
     Filtro filterSBrandCode = Herramientas.Instance.obtenerFiltro(filtro3, "Brand Code", "BrandCode", "BrandCode", true);
     filtros.Add(filterIndustryLevel);
     filtros.Add(filterSBrandCode);
     filtros.Add(filterSBrandDescription);
     return filtros;
 }
Esempio n. 7
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Volumen_Flt_Chain().Tables[0];
     Filtro filterChain = Herramientas.Instance.obtenerFiltro(filtro1, "Cadena", "Chain", "Chain", false);
     filtros.Add(filterChain);
     return filtros;
 }
Esempio n. 8
0
 /// <summary>
 /// Homologa el nombre del catalogo entregado por su correspondiente tabla
 /// </summary>
 /// <param name="catalogo"></param>
 /// <returns></returns>
 private string homologueCatalogo(string catalogo)
 {
     Consultas c = new Consultas();
     string retorno = "";
     DataTable catCurrent = new DataTable();
     catCurrent = c.SelectHomologacion_Catalogo(catalogo).Tables[0];
     foreach (DataRow g in catCurrent.Rows)
     {
         retorno = (string)g["strNombreTabla"];
     }
     return retorno;
 }
Esempio n. 9
0
        /// <summary>
        /// Lanzamiento del update
        /// </summary>
        private void lanzarUpdate()
        {
            try
            {
                actualProces = 0;
                actualProces++;
                // Create a new instance of our ProgressBar Delegate that points
                // to the ProgressBar's SetValue method.
                updatePbDelegate =
                    new UpdateProgressBarDelegate(pBar.SetValue);
                Dispatcher.Invoke(updatePbDelegate,
                System.Windows.Threading.DispatcherPriority.Background, new object[] { ProgressBar.ValueProperty, Convert.ToDouble(actualProces) });
                if (this.validacionBD() )
                if( this.checkSMS() != 0)
                {
                    this.addText("Comprobando la conectividad de la red\n");
                    if (NetworkInterface.GetIsNetworkAvailable())
                   {
                        this.addText("Conectividad de la red comprobada\n");
                        int numIntentos = 1;
                        int numIntentosMax = 1;
                        int tiempoEspera = 1 ;
                        //Obteniendo num maximo de intentos
                        try
                        {
                            numIntentosMax = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["NumReintentos"]);
                        }
                        catch(Exception ex)
                        {
                            this.addText("Formato de número de intentos invalido - " + ex.Message );
                             numIntentos = 1;
                        }
                        //Obteniendo tiempo de espera entre intentos
                        try
                        {
                            tiempoEspera = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["SegsTiempoReintento"]);
                        }
                        catch(Exception ex2)
                        {
                            this.addText("Formato de tiempo de espera invalido - " + ex2.Message);
                             numIntentos = 1;
                        }
                        //Intentos de conexion
                        while (numIntentos <= numIntentosMax)
                        {
                            this.addText("Comprobando la conectividad de la carpeta de datos - intento "+numIntentos+" / "+numIntentosMax+"\n");
                            if (this.getStatusConn())
                            {
                                this.addText("Conectividad de la carpeta de datos comprobada\n");
                                this.addText("Iniciando sincronización de KPIs\n");

                                //--------- INI BZG - Elimina Carpeta temporal -------------
                                EliminaArchivosTemporales();
                                //--------- FIN BZG - Elimina Carpeta temporal -------------

                                //Sincronizando
                                //--------------   INI BZG ----------------
                                territorio = this.ValidaCambioTerritorio();
                                //--------------   FIN BZG ----------------
                                this.sincroniceKPIs();
                                this.sincroniceCatalogos();
                                DateTime stopTime = DateTime.Now;
                                double totalSeconds = (double)stopTime.Ticks / TimeSpan.TicksPerSecond;
                                string dateFormat = stopTime.ToString("yyyyMMddHHmmssffff");
                                long fecha_sin_int = Convert.ToInt64(dateFormat);
                                int duracion = 0;
                                Consultas c = new Consultas();
                                c.InsertVitacora(usuario, WindowsIdentity.GetCurrent().Name, DateTime.Now, versionCliente, duracion, null, territorio, fecha_sin_int, true);

                                if (this.getText().ToLower().Contains("error"))
                                {
                                    MessageBox.Show("El proceso de sincronización terminó con al menos un error. Favor de contactar a Help Desk.");
                                    //MessageBox.Show("El proceso de actualización terminó, pero se registró un problema, verifique el detalle de la ejecución.");
                                }
                                else
                                    MessageBox.Show("El proceso de sincronización de KPIs terminó exitosamente.");
                                    //MessageBox.Show("El proceso de actualización terminó, por favor verifique el log para constatar la ejecución del proceso");
                                string delay = System.Configuration.ConfigurationManager.AppSettings["SegsTiempoComprobacionConexion"];
                                try
                                {
                                    int delayNew = Convert.ToInt32(delay);
                                    delayNew = delayNew + 5;
                                    System.Threading.Thread.Sleep(delayNew * 1000);
                                }
                                catch (Exception)
                                {
                                }
                                this.reinitPrincipal();
                                break;
                            }
                            else
                            {
                                this.addText("No se encontró conexión con la carpeta de datos de aplicación " + System.Configuration.ConfigurationManager.AppSettings["CarpetaCompartida"] + "\n");
                                numIntentos++;
                                System.Threading.Thread.Sleep(tiempoEspera);
                            }
                        }
                        //Comprobando maximo de intentos
                        if (numIntentos > numIntentosMax)
                        {
                            this.addText("Los intentos de conectividad superaron el máximo de intentos "+numIntentos+"/"+numIntentosMax+"\n");
                        }
                   }
                    else
                    {
                        MessageBox.Show("No se encontró conexión de red disponible");
                    }
                }
                actualProces++;
                Dispatcher.Invoke(updatePbDelegate,
                System.Windows.Threading.DispatcherPriority.Background, new object[] { ProgressBar.ValueProperty, Convert.ToDouble(actualProces) });

            this.btnEjecutarEnabled(true);
            }
            catch (Exception ex3)
            {
                this.btnEjecutarEnabled(true);
                this.addText("Error en la ejecución de la actualización : " + ex3.Message);
                MessageBox.Show("Ocurrió un error en la ejecución de la actualización - " + ex3.Message);
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Autor : Belizario Zapien Garcia
        /// Funcion que elimina los archivos de la carpeta temporal
        /// </summary>
        private void EliminaArchivosTemporales()
        {
            Consultas c = new Consultas();
            DataTable kpis = new DataTable();

            kpis = c.SelectNMT_KPI_Temporal().Tables[0];
            //if (kpis.Rows.Count == 0)
            //    this.addText("No se detectaron archivos a borrar \n");
            string appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
            string tmpFile = appData + System.Configuration.ConfigurationManager.AppSettings["CarpetaTemporal"];

            foreach (DataRow g in kpis.Rows)
            {
                try
                {
                    string kpi = (string)g["FILENAME_KPI"];
                    this.eliminarArchivos(tmpFile, "*" + kpi + "*");
                }
                catch { }
            }
        }
Esempio n. 11
0
 /// <summary>
 /// Homologa el nombre del archivo entregado por su correspondiente tabla
 /// </summary>
 /// <param name="nombreTabla"></param>
 /// <returns></returns>
 private string homologue(string nombreTabla)
 {
     Consultas c = new Consultas();
     string retorno = "";
     DataTable kpisCurrent = new DataTable();
     kpisCurrent = c.SelectHomologacion_FILES(nombreTabla).Tables[0];
     foreach (DataRow g in kpisCurrent.Rows)
     {
         retorno = (string)g["strNombreTabla"];
     }
     return retorno;
 }
Esempio n. 12
0
        /// <summary>
        /// Comprueba la conexión a la basa de datos SMS
        /// </summary>
        private int checkSMS()
        {
            string nombreBD = System.Configuration.ConfigurationManager.AppSettings["NombreBDiSMS"];
            int estado;
            DataTable valores;
            try
            {
                estado = 0;
                valores = new DataTable();
                Consultas consulta = new Consultas();
                valores = consulta.getAutenticacion(nombreBD).Tables[0];
                consulta = null;

                if (valores.Rows.Count == 0)
                {
                    return estado;
                }
                else
                {
                    return estado = 1;
                }

            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
        }
Esempio n. 13
0
 /// <summary>
 /// Carga la informacion en la tabla NMT_CURRENT_FILES
 /// </summary>
 /// <param name="file"></param>
 /// <param name="kpi"></param>
 /// <param name="territorio"></param>
 /// <param name="dateLong"></param>
 private void cargaCurrentFiles(string file,string kpi, string territorio, long dateLong)
 {
     FileInfo finf = new FileInfo(file);
     string appData = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
     string tmpFile = appData  + System.Configuration.ConfigurationManager.AppSettings["CarpetaTemporal"] + "\\"+finf.Name;
     if (this.copiarArchivo(file, tmpFile))
     {
         if (comprobacionDescargaArchivo(file,tmpFile))
         {
             Consultas c = new Consultas();
             c.InsertNMT_CURRENT_FILES(tmpFile, kpi, territorio, dateLong);
             c.DeleteNMT_TMP_FILES(file);
         }
     }
 }
Esempio n. 14
0
 /// <summary>
 /// Metodo para asignacion de estudios
 /// </summary>
 /// <param name="id"></param>
 public void changeStyle(string id)
 {
     Consultas cons = new Consultas();
     cons.UpdateSkins(Convert.ToInt32(id));
     if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.PrincipalWindow")
     {
         ((PrincipalWindow)parentWin).changeStyle(id);
     }
     else if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.IndicadorWindow")
     {
         ((IndicadorWindow)parentWin).changeStyle(id);
     }
 }
Esempio n. 15
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_MDZ_GENERAL_DROP_SIZE_Flt_IndustryLevel().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Potencial", "IndustryLevel", "IndustryLevel", true);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 16
0
 /// <summary>
 /// Obtiene la version de la actializacion
 /// </summary>
 private void obtenerVersiones()
 {
     Consultas consulta = new Consultas();
     territorio = "";
     DataTable version;
     if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.PrincipalWindow")
     {
         territorio = ((PrincipalWindow)parentWin).tbTerrirotio.Text;
         usuario = ((PrincipalWindow)parentWin).tbUsuario.Text;
         versionCliente = ((PrincipalWindow)parentWin).tbVersion.Text;
     }
     else if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.IndicadorWindow")
     {
         territorio = ((IndicadorWindow)parentWin).tbTerrirotio.Text;
         usuario = ((IndicadorWindow)parentWin).tbUsuario.Text;
         versionCliente = ((IndicadorWindow)parentWin).tbVersion.Text;
     }
     lblFecha.Content = "N/A";
     lblVersion.Content = "N/A";
     DataSet vDS =consulta.getVersionBitacora(territorio);
     if (vDS!=null)
     {
         version = vDS.Tables[0];
         foreach (DataRow g in version.Rows)
         {
             string ver = (String)g["VERSION_CLIENTE"];
             DateTime fecha = (DateTime)g["FECHA_SINCRONIZACION"];
             lblFecha.Content = fecha.ToString("dd/MM/yyyy");
             lblVersion.Content = ver;
         }
     }
     //Configurando informacion de aplicacion
     try
     {
         string strVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
         string fechaAp = File.GetCreationTime(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString("dd/MM/yyyy");
         lblFechaAplicacion.Content = fechaAp;
         lblVersionAplicacion.Content = strVersion;
     }
     catch (Exception)
     {
         lblFechaAplicacion.Content = "N/A";
         lblVersionAplicacion.Content = "N/A";
     }
 }
Esempio n. 17
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Share_Segment_Flt_IndustryLevel().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Potencial", "IndustryLevel", "IndustryLevel", false);
     //DataTable filtro2 = consulta.SelectKPI_Share_Segment_Flt_SegmentPrice().Tables[0];
     //Filtro filterSegmentPrice = Herramientas.Instance.obtenerFiltro(filtro2, "Segment Price", "SegmentPrice", "SegmentPrice", false);
     filtros.Add(filterIndustryLevel);
     //filtros.Add(filterSegmentPrice);
     return filtros;
 }
Esempio n. 18
0
        /// <summary>
        /// Proceso de sincronizacion catalogos
        /// </summary>
        private void sincroniceCatalogos()
        {
            bool local = true;
            this.addText("*****************  INICIANDO PROCESO DE SINCRONIZACIÓN DE CATÁLOGOS  *****************\n");
            string compartida = System.Configuration.ConfigurationManager.AppSettings["CarpetaCompartidaCatalogos"];
            this.addText("Obteniendo archivos de la carpeta remota para los catálogos \n");
            string[] archivosTerritorio = this.obtenerArchivos(compartida, "*.zip");
            if(archivosTerritorio.Length==0)
                this.addText("No se detectaron archivos en la carpeta remota para los catálogos \n");
            setMaxBar(archivosTerritorio.Length);
            Consultas c = new Consultas();
            foreach (string file in archivosTerritorio)
            {
                try
                {
                    FileInfo fkpi = new FileInfo(file);
                    string catalogo = fkpi.Name.Substring(0, (fkpi.Name.IndexOf("_")));
                    string date = file.Substring(file.LastIndexOf("_") + 1, (file.Length - 5 - file.LastIndexOf("_")));
                    long dateLong = -1;
                    try
                    {
                        dateLong = Convert.ToInt64(date);
                    }
                    catch{ }
                    this.addText("Insertando registro en NMT_TMP_CAT_FILES para el catálogo " + catalogo + "\n");
                    c.InsertNMT_TMP_CAT_FILES(file, catalogo, dateLong);
                }
                catch (Exception ex)
                {
                    this.addText("Error insertando registro en NMT_TMP_CAT_FILES para el catálogo en el archivo" + file + "\n" + ex.Message);
                }
                actualProces++;
                Dispatcher.Invoke(updatePbDelegate,
                System.Windows.Threading.DispatcherPriority.Background, new object[] { ProgressBar.ValueProperty, Convert.ToDouble(actualProces) });
            }
            this.addText("Seleccionando archivos a cargar\n");
            c.CompareNMT_TMP_CAT_FILES();
            DataTable cata = new DataTable();
            cata = c.SelectNMT_TMP_CAT_FILES().Tables[0];
            if(cata.Rows.Count==0)
                this.addText("No se detectaron archivos a cargar \n");
            foreach (DataRow g in cata.Rows)
            {
                string file = (string)g["FULL_FILENAME"];
                string catalog = (string)g["CATALOG_NAME"];
                long dateLong = (long)g["FILENAME_DATE"];
                this.cargaCurrentCatalogos(file, catalog, dateLong);
            }
            this.addText("Seleccionando archivos con bit para carga en CURRENT CAT\n");
            DataTable catCurrent = new DataTable();
            catCurrent = c.SelectNMT_CURRENT_CAT_FILES().Tables[0];
            setMaxBar(catCurrent.Rows.Count);
            if (catCurrent.Rows.Count==0)
                this.addText("No se detectaron archivos a cargar con bit en 1\n");
            foreach (DataRow g in catCurrent.Rows)
            {
                string file = (string)g["FULL_FILENAME"];
                string catalog = (string)g["CATALOG_NAME"];
                long dateLong = (long)g["FILENAME_DATE"];
                try
                {
                    this.addText("Realizando la extracción del .zip\n");
                    List<string> files = this.descomprimir(file);
                    this.addText("Homologando " + catalog + " \n");
                    try
                    {
                        string tabla = this.homologueCatalogo(catalog);
                        DataTable datosTabla = new DataTable();
                        datosTabla = c.CreateTableCatalogoTemp(tabla,local).Tables[0];
                        this.addText("Iniciando lectura de archivo\n");
                        StreamReader reader = null;
                        bool exitoLectura = true;
                        try
                        {
                            reader = new StreamReader(files[0], Encoding.Default);
                            string line = string.Empty;
                            while ((line = reader.ReadLine()) != null)
                            {
                                try
                                {
                                    string[] valores = line.Split('|');
                                    int index = 0;
                                    string columns = "";
                                    string inserts = "";
                                    foreach (DataRow gdata in datosTabla.Rows)
                                    {
                                        string column = (string)gdata["COLUMN_NAME"];
                                        string tipo = (string)gdata["TYPE_NAME"];
                                        columns += column + ",";
                                        string val = "";
                                        if (tipo.ToLower().Contains("char")) val += "{\"}";
                                        if (index < valores.Length) val += valores[index];
                                        if (tipo.ToLower().Contains("char")) val += "{\"}";
                                        inserts += val + ",";
                                        index++;
                                    }
                                    try
                                    {
                                        c.ExecuteSQLNMT_CAT_TMP_FILES(tabla, columns.Remove(columns.Length - 1, 1), inserts.Remove(inserts.Length - 1, 1), local);
                                    }
                                    catch (Exception ex2)
                                    {
                                        exitoLectura = exitoLectura && false;
                                        this.addText("Error insertando los datos en la tabla temporal\n" + ex2.Message);
                                    }
                                }
                                catch (Exception ex3)
                                {
                                    exitoLectura = exitoLectura && false;
                                    this.addText("Error mapeando columnas de tabla con columnas del archivo\n" + ex3.Message);
                                }
                            }
                            reader.Close();
                        }
                        catch (Exception ex4)
                        {
                            this.addText("Error en la lectura del archivo\n" + ex4.Message);
                            if (reader != null)
                                reader.Close();
                            exitoLectura = exitoLectura && false;
                        }
                        if (exitoLectura)
                        {
                            this.addText("Tabla temporal " + tabla + "_TMP creada y cargada\n");
                            this.addText("Truncando la tabla " + tabla + "\n");
                            try
                            {
                                //AQUI TRUNCA LA TABLA DE KPI NORMAL
                                c.Truncate_NMT_Table(tabla, local);
                                //c.Drop_NMT_Table(tabla, local);
                                this.addText("Tabla " + tabla + " truncada\n");
                                this.addText("Cargando los datos desde la tabla temporal " + tabla + "_TMP\n");
                                try
                                {
                                    c.Merge_NMT_Table(tabla + "_TMP", tabla, local);
                                    this.addText("Carga de datos desde la tabla temporal " + tabla + "_TMP exitosa\n");
                                    // ----- INI - BZG - 20120227 -----------
                                    c.SetLoadedNMT_CURRENT_CAT_FILES(catalog);
                                    // ----- FIN - BZG - 20120227 -----------
                                    this.addText("Eliminando tabla temporal " + tabla + "_TMP \n");
                                    try
                                    {
                                        c.Drop_NMT_Table(tabla + "_TMP", local);
                                    }
                                    catch (Exception ex5)
                                    {
                                        this.addText("Error eliminando la tabla temporal " + tabla + "_TMP\n"+ ex5.Message);
                                    }
                                }
                                catch (Exception ex6)
                                {
                                    this.addText("Error al intentar cargar los datos desde la tabla temporal " + tabla + "_TMP\n"+ex6.Message);
                                }
                            }
                            catch (Exception ex7)
                            {
                                this.addText("Error al intentar truncar la tabla\n" + ex7.Message);
                            }
                        }
                    }
                    catch (Exception ex8)
                    {
                        this.addText("Ocurrió un error tratando de crear la tabla temporal\n" + ex8.Message);
                    }

                }
                catch (Exception ex9)
                {
                    this.addText("Ocurrió un error en la extracción del .zip\n" + ex9.Message);
                }

                this.addText("\nEl proceso ha finalizado.\n");
                actualProces++;
                Dispatcher.Invoke(updatePbDelegate,
                System.Windows.Threading.DispatcherPriority.Background, new object[] { ProgressBar.ValueProperty, Convert.ToDouble(actualProces) });
            }
        }
Esempio n. 19
0
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Share_SKU_Flt_ProductSubfamilyCode().Tables[0];
     Filtro filterProductSubfamilyCode = Herramientas.Instance.obtenerFiltro(filtro1, "Product Subfamily Code", "ProductSubfamilyCode", "ProductSubfamilyCode", true);
     DataTable filtro2 = consulta.SelectKPI_Share_SKU_Flt_ProductSubfamilyDescription().Tables[0];
     Filtro filterProductSubfamilyDescription = Herramientas.Instance.obtenerFiltro(filtro2, "Marca", "ProductSubfamilyDescription", "ProductSubfamilyDescription", true);//Subfamilia
     DataTable filtro3 = consulta.SelectKPI_Share_SKU_Flt_SegmentPrice().Tables[0];
     Filtro filterSegmentPrice = Herramientas.Instance.obtenerFiltro(filtro3, "Segmento de Precio", "SegmentPrice", "SegmentPrice", false);
     filtros.Add(filterProductSubfamilyCode);
     filtros.Add(filterProductSubfamilyDescription);
     filtros.Add(filterSegmentPrice);
     return filtros;
 }
Esempio n. 20
0
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_Facturado_Flt_Cliente().Tables[0];
     if(filtro1.Rows.Count>0)
         filtro1.Rows.Add("TODOS");
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "Cliente", "Cliente", "Cliente", false);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 21
0
        /// <summary>
        /// Metodo de graficación.
        /// </summary>
        /// <returns></returns>
        public Chart Draw(params string[] filtros)
        {
            // Create a new instance of Chart
            Chart chart = new Chart();
            Dictionary<String, decimal?> Pdvs = new Dictionary<string, decimal?>();

            chart.AnimationEnabled = true;

            // Create a new instance of Title
            Title title = new Title();
            // Set title property
            title.Text = "Volumen";
            // Add title to Titles collection
            chart.Titles.Add(title);
            // Create a new instance of DataSeries
            DataSeries dataSeries = new DataSeries();
            // Set DataSeries property
            dataSeries.RenderAs = RenderAs.Line;
            // Create a new instance of DataSeries secundary
            DataSeries dataSeriesSecundary = new DataSeries();
            // Set DataSeries property
            dataSeriesSecundary.AxisYType = AxisTypes.Secondary;

            dataSeriesSecundary.Name = "PDVs DE CADENA";
            dataSeriesSecundary.Padding = new Thickness(30);
            dataSeriesSecundary.RenderAs = RenderAs.Line;
            dataSeriesSecundary.MarkerType = Visifire.Commons.MarkerTypes.Cross;
            dataSeriesSecundary.SelectionEnabled = true;
            dataSeriesSecundary.LineThickness = 3;
            //dataSeriesSecundary.ZIndex = 4;

            #region configuracion eje X
            // Creating AxisX
            Axis axisX = new Axis();
            // Date time standard format
            axisX.ValueFormatString = "000000";
            axisX.AxisOffset = 0.02;

            //axisX.IntervalType = IntervalTypes.Months;
            // To avoid auto skip
            //
            chart.AxesX.Add(axisX);
            #endregion

            // Create a DataPoint
            DataPoint dataPoint;
            #region consulta
            DataTable kpis;

            //Adicionando 2do eje
            //Orientation axisYOrientation = Orientation.Vertical;
            //Axis axisY = new Axis();
            //axisY._isAutoGenerated = true;
            //axisY.Chart = chart;
            //axisY.AxisOrientation = axisYOrientation;
            //axisY.AxisType = AxisTypes.Secondary;
            //axisY.PlotDetails = this;
            ////axisY.AxisRepresentation = AxisRepresentations.AxisY;
            //chart.InternalAxesY.Add(axisY);
            //chart.AxesY.Add(axisY);

            string ser = "-1111";
            try
            {
                kpis = new DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.SelectKPI_Volumen(filtros).Tables[0];
                consulta = null;
                string serAnt = "-5555";

                foreach (DataRow g in kpis.Rows)
                {
                    Decimal? y = g["QtySellOut"]!=DBNull.Value?(Decimal?)g["QtySellOut"]:null;
                    Decimal? y2 = g["QtyCPW"]!=DBNull.Value?(Decimal?)g["QtyCPW"]:null;
                    long x = (long)g["TimeId"];
                    ser = (string)g["ManufacturerCode"];
                    if (serAnt != ser)
                    {
                        if (serAnt != "-5555" )
                        {
                            chart.Series.Add(dataSeries);
                        }

                        // Create a new instance of DataSeries
                        dataSeries = new DataSeries();
                        // Set DataSeries property
                        dataSeries.RenderAs = RenderAs.Line;
                        dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Circle;
                        dataSeries.SelectionEnabled = true;
                        dataSeries.LineThickness = 3;
                        dataSeries.Name = "CPW "+ser;
                        /*
                            // Create a new instance of DataSeries
                            //dataSeriesSecundary = new DataSeries();
                            // Set DataSeries property
                            dataSeriesSecundary.RenderAs = RenderAs.Line;
                            dataSeriesSecundary.Name = ser;
                            dataSeriesSecundary.MarkerType = Visifire.Commons.MarkerTypes.Circle;
                            dataSeriesSecundary.SelectionEnabled = true;
                            dataSeriesSecundary.LineThickness = 3;
                        */
                    }
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();
                    // Set YValue for a DataPoint
                    dataPoint.AxisXLabel = x.ToString();
                    if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                    dataPoint.YValue = System.Convert.ToDouble(y);
                    // Add dataPoint to DataPoints collection.
                    dataSeries.DataPoints.Add(dataPoint);
                    //Almacenando los maximos de QtyCPW
                    if (!Pdvs.ContainsKey(x.ToString()))
                    {
                        Pdvs.Add(x.ToString(), y2);
                    }
                    else
                    {
                        decimal? value = Pdvs[x.ToString()];
                        if (y2 > value)
                        {
                            Pdvs.Remove(x.ToString());
                            Pdvs.Add(x.ToString(),y2);
                        }
                    }
                    /*
                    if (ser.Contains("PDV"))
                    {
                        // Create a new instance of DataPoint
                        dataPoint = new DataPoint();
                        // Set YValue for a DataPoint
                        if (x != null) dataPoint.AxisXLabel = x.ToString();
                        if (!ciclos.Contains(x.ToString()))  ciclos.Add(x.ToString());
                        //dataPoint.XValue = x;
                        dataPoint.YValue = System.Convert.ToDouble(y);
                        // Add dataPoint to DataPoints collection.
                        dataSeriesSecundary.DataPoints.Add(dataPoint);
                    }
                     */
                    serAnt = ser;
                }
            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
            #endregion
            // Add dataSeries to Series collection.
            chart.Series.Add(dataSeries);
            //Llenando eje secundario
            foreach (string cicloTMP in ciclos)
            {
                // Create a new instance of DataPoint
                dataPoint = new DataPoint();
                // Set YValue for a DataPoint
                dataPoint.AxisXLabel = cicloTMP;
                //dataPoint.XValue = x;
                decimal? value = -111111111;
                if (Pdvs.ContainsKey(cicloTMP))
                {
                    value = Pdvs[cicloTMP];
                    dataPoint.YValue = System.Convert.ToDouble(value);
                }
                // Add dataPoint to DataPoints collection.
                dataSeriesSecundary.DataPoints.Add(dataPoint);

            }
            chart.Series.Add(dataSeriesSecundary);
            return chart;
        }
Esempio n. 22
0
        public Chart Draw(string[] filtros)
        {
            Chart chart = new Chart();
            if (filtros.Length > 1)
            {
                if (filtros[1] == "Detallado")
                {
                    // Create a new instance of Chart

                    chart.AnimationEnabled = true;
                    // Create a new instance of Title
                    Title title = new Title();
                    // Set title property
                    title.Text = "FACTURADO";
                    // Add title to Titles collection
                    chart.Titles.Add(title);
                    // Create a new instance of DataSeries
                    DataSeries dataSeries = new DataSeries();
                    // Set DataSeries property
                    dataSeries.RenderAs = RenderAs.Column;
                    dataSeries.SelectionEnabled = true;
                    dataSeries.LineThickness = 3;

                    // Create a new instance of DataSeries2
                    DataSeries dataSeries2 = new DataSeries();
                    // Set DataSeries property
                    dataSeries2.RenderAs = RenderAs.Column;
                    dataSeries2.SelectionEnabled = true;
                    dataSeries2.LineThickness = 3;

                    // Create a new instance of DataSeries3
                    DataSeries dataSeries3 = new DataSeries();
                    // Set DataSeries property
                    dataSeries3.RenderAs = RenderAs.Column;
                    dataSeries3.SelectionEnabled = true;
                    dataSeries3.LineThickness = 3;

                    // Set DataSeries property
                    dataSeries.RenderAs = RenderAs.Column;
                    #region configuracion eje X
                    // Creating AxisX
                    Axis axisX = new Axis();
                    // Date time standard format
                    axisX.ValueFormatString = "000000";
                    // To avoid auto skip

                    chart.AxesX.Add(axisX);
                    #endregion
                    // Create a DataPoint
                    DataPoint dataPoint;
                    #region consulta
                    DataTable kpis;
                    try
                    {
                        kpis = new DataTable();
                        Consultas consulta = new Consultas();
                        kpis = consulta.SelectKPI_Facturado(filtros).Tables[0];
                        consulta = null;
                        Boolean band = false;
                        foreach (DataRow g in kpis.Rows)
                        {
                            Decimal? y = g["VolumenActual"] != DBNull.Value ? (Decimal?)g["VolumenActual"] : null;
                            Decimal? y2 = g["VolumenAnterior"] != DBNull.Value ? (Decimal?)g["VolumenAnterior"] : null;
                            Decimal? y3 = g["Variacion"] != DBNull.Value ? (Decimal?)g["Variacion"] : null;
                            int x = (int)g["Ciclo"];

                            // Create a new instance of DataPoint
                            dataPoint = new DataPoint();
                            // Set YValue for a DataPoint
                            if (x != null) dataPoint.AxisXLabel = x.ToString();
                            if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                            dataPoint.YValue = System.Convert.ToDouble(y2);
                            dataPoint.ToolTipText = (int.Parse(x.ToString().Substring(0, 4)) - 1).ToString()+" "+y2;
                            // Add dataPoint to DataPoints collection.
                            dataSeries.DataPoints.Add(dataPoint);
                            dataSeries.Name = "ANTERIOR";

                            // Set YValue for a DataPoint
                            dataPoint = new DataPoint();
                            // Set YValue for a DataPoint
                            if (x != null) dataPoint.AxisXLabel = x.ToString();
                            if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                            dataPoint.YValue = System.Convert.ToDouble(y);
                            dataPoint.ToolTipText = (int.Parse(x.ToString().Substring(0, 4))).ToString() + " " + y;
                            // Add dataPoint to DataPoints collection.
                            dataSeries2.DataPoints.Add(dataPoint);
                            dataSeries2.Name = "ACTUAL";

                            // Set YValue for a DataPoint
                            dataPoint = new DataPoint();
                            // Set YValue for a DataPoint
                            if (x != null) dataPoint.AxisXLabel = x.ToString();
                            dataPoint.ToolTipText = x.ToString().Substring(0, 4);
                            if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                            dataPoint.YValue = System.Convert.ToDouble(y3);
                            dataPoint.ToolTipText = (int.Parse(x.ToString().Substring(0, 4))).ToString() + " " + y3;
                            // Add dataPoint to DataPoints collection.
                            dataSeries3.DataPoints.Add(dataPoint);
                            dataSeries3.Name = "VARIACION";

                            band = true;

                        }

                        // Add dataSeries to Series collection.
                        if (band != false)
                        {
                            chart.Series.Add(dataSeries);
                            chart.Series.Add(dataSeries2);
                            chart.Series.Add(dataSeries3);
                        }
                        return chart;

                    }
                    catch (Exception Error)
                    {
                        throw (new Exception(Error.ToString()));
                    }
                    #endregion
                }
                else
                {
                    // Create a new instance of Chart

                    chart.AnimationEnabled = true;
                    // Create a new instance of Title
                    Title title = new Title();
                    // Set title property
                    title.Text = "FACTURADO";
                    // Add title to Titles collection
                    chart.Titles.Add(title);
                    // Create a new instance of DataSeries
                    DataSeries dataSeries = new DataSeries();
                    // Set DataSeries property
                    dataSeries.RenderAs = RenderAs.Column;
                    dataSeries.SelectionEnabled = true;
                    dataSeries.LineThickness = 3;

                    DataSeries dataSeries2 = new DataSeries();
                    // Set DataSeries property
                    dataSeries2.RenderAs = RenderAs.Column;
                    dataSeries2.SelectionEnabled = true;
                    dataSeries2.LineThickness = 3;

                    // Set DataSeries property
                    dataSeries.RenderAs = RenderAs.Column;
                    #region configuracion eje X
                    // Creating AxisX
                    Axis axisX = new Axis();
                    // Date time standard format
                    axisX.ValueFormatString = "000000";
                    // To avoid auto skip

                    chart.AxesX.Add(axisX);
                    #endregion
                    // Create a DataPoint
                    DataPoint dataPoint;
                    #region consulta
                    DataTable kpis;
                    try
                    {
                        kpis = new DataTable();
                        Consultas consulta = new Consultas();
                        kpis = consulta.SelectKPI_Facturado(filtros).Tables[0];
                        consulta = null;
                        Boolean band = false;

                        foreach (DataRow g in kpis.Rows)
                        {
                            Decimal? y = g["VolumenActual"] != DBNull.Value ? (Decimal?)g["VolumenActual"] : null;
                            Decimal? y2 = g["VolumenAnterior"] != DBNull.Value ? (Decimal?)g["VolumenAnterior"] : null;
                            int x = 0; //(int)g["Ciclo"];
                            string año = (string)g["ano"];
                            // Create a new instance of DataPoint
                            dataPoint = new DataPoint();

                            // Set YValue for a DataPoint
                            dataPoint.AxisXLabel = x.ToString();
                            if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                            dataPoint.YValue = System.Convert.ToDouble(y2);
                            dataPoint.ToolTipText = (int.Parse(año.Substring(0, 4))-1).ToString()+" "+y2;
                            // Add dataPoint to DataPoints collection.
                            dataSeries.DataPoints.Add(dataPoint);
                            dataSeries.Name = "ANTERIOR";

                            // Set YValue for a DataPoint
                            dataPoint = new DataPoint();
                            // Set YValue for a DataPoint
                            dataPoint.AxisXLabel = x.ToString();
                            if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                            dataPoint.YValue = System.Convert.ToDouble(y);
                            dataPoint.ToolTipText = año+" "+y;
                            // Add dataPoint to DataPoints collection.
                            dataSeries2.DataPoints.Add(dataPoint);
                            dataSeries2.Name = "ACTUAL";
                            band = true;

                        }

                        // Add dataSeries to Series collection.
                        if (band != false)
                        {
                            chart.Series.Add(dataSeries);
                            chart.Series.Add(dataSeries2);

                        }
                        return chart;

                    }
                    catch (Exception Error)
                    {
                        throw (new Exception(Error.ToString()));
                    }
                    #endregion
                }
            }
            else
                return chart;
        }
Esempio n. 23
0
        /// <summary>
        /// Metodo de graficación.
        /// </summary>
        /// <returns></returns>
        public Chart Draw(params string[] filtros)
        {
            // Create a new instance of Chart
            Chart chart = new Chart();

            chart.AnimationEnabled = true;
            // Create a new instance of Title
            Title title = new Title();
            // Set title property
            title.Text = "Clientes ITO Vs Clientes UX";
            // Add title to Titles collection
            chart.Titles.Add(title);
            // Create a new instance of DataSeries
            DataSeries dataSeries = new DataSeries();
            // Set DataSeries property
            dataSeries.RenderAs = RenderAs.Line;
            dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Circle;
            dataSeries.SelectionEnabled = true;
            dataSeries.LineThickness = 3;

            // Create a new instance of DataSeries2
            DataSeries dataSeries2 = new DataSeries();
            // Set DataSeries property
            dataSeries2.RenderAs = RenderAs.Line;
            dataSeries2.MarkerType = Visifire.Commons.MarkerTypes.Circle;
            dataSeries2.SelectionEnabled = true;
            dataSeries2.LineThickness = 3;

            #region configuracion eje X
            // Creating AxisX
            Axis axisX = new Axis();
            // Date time standard format
            axisX.ValueFormatString = "000000";
            // To avoid auto skip

            chart.AxesX.Add(axisX);
            #endregion

            // Create a DataPoint
            DataPoint dataPoint;
            #region consulta
            DataTable kpis;
            try
            {
                kpis = new DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.SelectKPI_Clientes_ITO_UX(filtros).Tables[0];
                consulta = null;
                foreach (DataRow g in kpis.Rows)
                {
                    long? y = g["NbrCustUX"]!=DBNull.Value?(long?)g["NbrCustUX"]:null;
                    long? y2 = g["NbrCustITO"]!=DBNull.Value?(long?)g["NbrCustITO"]:null;
                    long x = (long)g["TimeId"];
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();
                    // Set YValue for a DataPoint
                    if (x != null) dataPoint.AxisXLabel = x.ToString();
                    if (!ciclos.Contains(x.ToString()))  ciclos.Add(x.ToString());
                    dataPoint.YValue = System.Convert.ToDouble(y);
                    // Add dataPoint to DataPoints collection.
                    dataSeries.DataPoints.Add(dataPoint);
                    dataSeries.Name = "Universo";
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();
                    // Set YValue for a DataPoint
                    if (x != null) dataPoint.AxisXLabel = x.ToString();
                    if (!ciclos.Contains(x.ToString()))  ciclos.Add(x.ToString());
                    dataPoint.YValue = System.Convert.ToDouble(y2);
                    // Add dataPoint to DataPoints collection.
                    dataSeries2.DataPoints.Add(dataPoint);
                    dataSeries2.Name = "Itinerario";
                }
            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
            #endregion
            // Add dataSeries to Series collection.
            chart.Series.Add(dataSeries);
            chart.Series.Add(dataSeries2);
            return chart;
        }
Esempio n. 24
0
        public void generarExcelClientes(string path, string filtros)
        {
            Microsoft.Office.Interop.Excel.Application xlApp;
            Workbook xlWorkBook;
            Worksheet xlWorkSheet;
            object misValue = System.Reflection.Missing.Value;

            xlApp = new Application();
            xlWorkBook = xlApp.Workbooks.Add(misValue);

            xlWorkSheet = (Worksheet)xlWorkBook.Worksheets.get_Item(1);
            int fila = 4;
            int columna = 1;
            try
            {
                Range chartRange;
                xlWorkSheet.get_Range("a1", "k1").Merge(false);
                string titulo;
                if (filtros != "Todos")
                    titulo = filtros;
                else
                    titulo = "";
                chartRange = xlWorkSheet.get_Range("a1", "k1");
                chartRange.FormulaR1C1 = "DETALLE SOBRE CLIENTES "+titulo;
                chartRange.HorizontalAlignment = 3;
                chartRange.VerticalAlignment = 3;
                chartRange.Font.Bold = true;
                //Consulta a la BD
                System.Data.DataTable kpis;
                kpis = new System.Data.DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.Select_ClientesDetallado(filtros).Tables[0];
                consulta = null;

                if (kpis.Rows.Count > 0)
                    //Encabezado
                    foreach (DataColumn col in kpis.Rows[0].Table.Columns)
                    {
                        string valor = col.ColumnName;
                        xlWorkSheet.Cells[3, columna] = valor;
                        xlWorkSheet.Cells[3, columna].Style.Font.Name = "Calibri";
                        xlWorkSheet.Cells[3, columna].Style.Font.Bold = true;
                        xlWorkSheet.Cells[3, columna].BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic, XlColorIndex.xlColorIndexAutomatic);

                        columna++;

                    }
                chartRange = xlWorkSheet.get_Range("a3", "u3");
                chartRange.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic, XlColorIndex.xlColorIndexAutomatic);
                chartRange.Interior.ColorIndex = 15;
                //chartRange.AutoFit();
                //Detalle
                foreach (DataRow g in kpis.Rows)
                {
                    columna = 1;
                    foreach (DataColumn col in g.Table.Columns)
                    {
                        string valor = "";
                        if (g[col.ColumnName] != null)
                        {
                            valor = g[col.ColumnName].ToString();
                        }
                        else valor = "";
                        xlWorkSheet.Cells[fila, columna] = valor;
                        xlWorkSheet.Cells[fila, columna].Style.Font.Name = "Calibri";
                        xlWorkSheet.Cells[fila, columna].BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlThin, XlColorIndex.xlColorIndexAutomatic, XlColorIndex.xlColorIndexAutomatic);
                        xlWorkSheet.Cells[fila, columna].Style.Font.Bold = false;
                        columna++;
                    }
                    fila++;
                }
                chartRange = xlWorkSheet.get_Range("a3", "k" + (fila - 1));
                chartRange.BorderAround(XlLineStyle.xlContinuous, XlBorderWeight.xlMedium, XlColorIndex.xlColorIndexAutomatic, XlColorIndex.xlColorIndexAutomatic);
                //Autoajustando tamanio
                try
                {
                    Range xlEntireColumn = null;
                    Range xlRange = null;
                    for (int i = 1; i < 12; i++)
                    {
                        xlRange = xlWorkSheet.Cells[1, i];
                        xlEntireColumn = xlRange.EntireColumn;
                        xlEntireColumn.AutoFit();
                    }
                }
                catch (Exception)
                {
                    //Excepted error
                }

            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }

            xlWorkBook.SaveAs(path, XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
            //xlApp.Workbooks.Open(path, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

            xlWorkBook.Close(true, misValue, misValue);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);
            xlApp = null;
            //Abrir excel
            Application excel = new Application();
            Workbook wb = excel.Workbooks.Open(path, Missing.Value, true, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            excel.Visible = true;
            //excel.Quit();
            //releaseObject(excel);
            //excel.Quit();
        }
Esempio n. 25
0
        /// <summary>
        /// Metodo de graficación.
        /// </summary>
        /// <returns></returns>
        public Chart Draw(params string[] filtros)
        {
            // Create a new instance of Chart
            Chart chart = new Chart();

            chart.AnimationEnabled = true;
            // Create a new instance of Title
            Title title = new Title();
            // Set title property
            title.Text = "Switch Selling Por SKU";
            // Add title to Titles collection
            chart.Titles.Add(title);
            // Create a new instance of DataSeries
            DataSeries dataSeries = new DataSeries();
            // Set DataSeries property
            dataSeries.RenderAs = RenderAs.Column;
            // Create a DataPoint
            DataPoint dataPoint;
            #region consulta
            DataTable kpis;
            try
            {
                kpis = new DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.SelectKPI_SwitchSellingSKU(filtros).Tables[0];
                consulta = null;
                string serAnt = "-5555";
                string ser = "-1111";
                foreach (DataRow g in kpis.Rows)
                {
                    string x = (string)g["ProductSubfamilyDescription"];
                    long? y = g["NbrSwitchSelling"]!=DBNull.Value?(long?)g["NbrSwitchSelling"]:null;
                    ser = (string)g["IndustryLevel"];
                    //Creando las series
                    if (serAnt != ser)
                    {
                        if (serAnt != "-5555")
                        {
                            chart.Series.Add(dataSeries);
                        }
                        // Create a new instance of DataSeries
                        dataSeries = new DataSeries();
                        dataSeries.Name = ser;
                        // Set DataSeries property
                        dataSeries.RenderAs = RenderAs.Line;
                        dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Circle;
                        dataSeries.SelectionEnabled = true;
                        dataSeries.LineThickness = 3;

                    }
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();
                    // Set YValue for a DataPoint
                    if (x != null) dataPoint.AxisXLabel = x.ToString();
                    if (!ciclos.Contains(x.ToString()))  ciclos.Add(x.ToString());
                    dataPoint.YValue = System.Convert.ToDouble(y);
                    // Add dataPoint to DataPoints collection.
                    dataSeries.DataPoints.Add(dataPoint);
                    serAnt = ser;
                }
            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
            #endregion
            // Add dataSeries to Series collection.
            chart.Series.Add(dataSeries);
            return chart;
        }
Esempio n. 26
0
 public List<Filtro> ObtenerFiltrosDescripcion()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_MDZ_VisitasPlaneadas_MDZDescription().Tables[0];
     Filtro filterIndustryLevel = Herramientas.Instance.obtenerFiltro(filtro1, "MDZ Description", "MDZ Description", "MDZ Description", false);
     filtros.Add(filterIndustryLevel);
     return filtros;
 }
Esempio n. 27
0
        public Chart Draw(params string[] filtros)
        {
            // Create a new instance of Chart
            Chart chart = new Chart();

            chart.AnimationEnabled = true;
            // Create a new instance of Title
            Title title = new Title();
            // Set title property
            title.Text = "DISTRIBUCION PDV GRUPO";
            // Add title to Titles collection
            chart.Titles.Add(title);
            // Create a new instance of DataSeries
            DataSeries dataSeries = new DataSeries();
            DataSeries dataSeriesSecundary = new DataSeries();
            // Set DataSeries property
            dataSeries.RenderAs = RenderAs.Line;
            #region configuracion eje X
            // Creating AxisX
            Axis axisX = new Axis();
            // Date time standard format
            axisX.ValueFormatString = "000000";
            // To avoid auto skip

            chart.AxesX.Add(axisX);
            #endregion
            // Create a DataPoint
            DataPoint dataPoint;
            #region consulta
            DataTable kpis;
            try
            {
                kpis = new DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.SelectKPI_DistibucionPDVGrupo(filtros).Tables[0];
                consulta = null;
                bool band1 = true;
                bool band2 = true;
                string serAnt = "-5555";
                string ser = "-1111";
                foreach (DataRow g in kpis.Rows)
                {

                    int? y = g["TotalClientes"] != DBNull.Value ? (int?)g["TotalClientes"] : null;
                    int x = (int)g["Ciclo"];
                    ser = (string)g["Segmentacion"];
                    ser = ser.ToUpper();
                    //--Condicion para el hueco se vaya a cero y no se corte la linea.
                    //if (y == null)
                    //    y = 0;
                    if (ser != "TOTAL MAYORISTAS")
                    { //Creando las series
                        if (serAnt != ser)
                        {
                            if (serAnt != "-5555")
                            {
                                chart.Series.Add(dataSeries);
                            }

                            // Create a new instance of DataSeries
                            dataSeries = new DataSeries();
                            dataSeries.Name = ser;
                            // Set DataSeries property
                            dataSeries.RenderAs = RenderAs.Line;
                            if (ser == "TIGRE")
                                dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Diamond;
                            if (ser == "LOBO")
                                dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Triangle;
                            if (ser == "AGUILA")
                                dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Square;
                            if (ser == "COBRA")
                                dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Cross;
                            if (ser == "PEZ")
                                dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Line;
                            dataSeries.SelectionEnabled = true;
                            dataSeries.LineThickness = 3;
                            band1 = false;
                        }

                        // Create a new instance of DataPoint
                        dataPoint = new DataPoint();
                        // Set YValue for a DataPoint
                        if (x != null && y != null) dataPoint.AxisXLabel = x.ToString();
                        if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                        dataPoint.YValue = System.Convert.ToDouble(y);
                        // Add dataPoint to DataPoints collection.
                        dataSeries.DataPoints.Add(dataPoint);
                        serAnt = ser;

                    }
                    else
                    {
                        if (serAnt != ser)
                        {
                            //////////////dataseries secundario para segundo eje y
                            // Create a new instance of DataSeries secundary
                            // Set DataSeries property
                            dataSeriesSecundary.AxisYType = AxisTypes.Secondary;
                            dataSeriesSecundary.Name = "TOTAL MAYORISTAS";
                            dataSeriesSecundary.Padding = new Thickness(30);
                            dataSeriesSecundary.RenderAs = RenderAs.Line;
                            dataSeriesSecundary.MarkerType = Visifire.Commons.MarkerTypes.Circle;
                            dataSeriesSecundary.SelectionEnabled = true;
                            dataSeriesSecundary.LineThickness = 3;
                            //////////////////////////////////////////////
                            band2 = false;

                        }
                        dataPoint = new DataPoint();
                        if (x != null && y != null) dataPoint.AxisXLabel = x.ToString();
                        if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString());
                        dataPoint.YValue = System.Convert.ToDouble(y);
                        dataSeriesSecundary.DataPoints.Add(dataPoint);
                        serAnt = ser;
                    }
                }
                // Add dataSeries to Series collection.
                if(band1!=true)
                    chart.Series.Add(dataSeries);
                if (band2 != true)
                    chart.Series.Add(dataSeriesSecundary);

                return chart;
            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
            #endregion
        }
 /// <summary>
 /// 
 /// </summary>
 public List<Filtro> ObtenerFiltros()
 {
     filtros = new List<Filtro>();
     Consultas consulta = new Consultas();
     DataTable filtro1 = consulta.SelectKPI_SELL_OUT_KA_SEGMENT_CONTRIBUTION_Flt_ChainCode().Tables[0];
     Filtro filterChainCode = Herramientas.Instance.obtenerFiltro(filtro1, "Cadena", "ChainCode", "ChainCode", false);
     filtros.Add(filterChainCode);
     return filtros;
 }
Esempio n. 29
0
        /// <summary>
        /// Metodo de graficación.
        /// </summary>
        /// <returns></returns>
        public Chart Draw(params string[] filtros)
        {
            // Create a new instance of Chart
            Chart chart = new Chart();

            chart.AnimationEnabled = true;
            // Create a new instance of Title
            Title title = new Title();
            // Set title property
            title.Text = "Efectividad MDZ";
            // Add title to Titles collection
            chart.Titles.Add(title);
            // Create a new instance of DataSeries
            DataSeries dataSeries = new DataSeries();
            // Set DataSeries property
            dataSeries.RenderAs = RenderAs.Line;
            #region configuracion eje X
            // Creating AxisX
            Axis axisX = new Axis();
            // Date time standard format
            axisX.ValueFormatString = "000000";
            // To avoid auto skip

            chart.AxesX.Add(axisX);
            #endregion
            // Create a DataPoint
            DataPoint dataPoint;
            #region consulta
            DataTable kpis;
            try
            {
                kpis = new DataTable();
                Consultas consulta = new Consultas();
                kpis = consulta.SelectKPI_EfectividadMDZ(filtros).Tables[0];
                consulta = null;
                string serAnt = "-5555";
                string ser = "-1111";
                foreach (DataRow g in kpis.Rows)
                {
                    Decimal? y = g["EfectivenessByBrand"]!=DBNull.Value?(Decimal?)g["EfectivenessByBrand"]:null;
                    long x = (long)g["TimeId"];
                    ser = (string)g["ProductSubfamilyDescription"];
                    //Creando las series
                    if (serAnt != ser)
                    {
                        if (serAnt != "-5555")
                        {
                            chart.Series.Add(dataSeries);
                        }
                        // Create a new instance of DataSeries
                        dataSeries = new DataSeries();
                        dataSeries.Name = ser;
                        // Set DataSeries property
                        dataSeries.RenderAs = RenderAs.Line;
                        dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Circle;
                        dataSeries.SelectionEnabled = true;
                        dataSeries.LineThickness = 3;

                    }
                    // Create a new instance of DataPoint
                    dataPoint = new DataPoint();
                    // Set YValue for a DataPoint
                    if (x != null) dataPoint.AxisXLabel = x.ToString();
                    if (!ciclos.Contains(x.ToString()))  ciclos.Add(x.ToString());
                    dataPoint.YValue = System.Convert.ToDouble(y);
                    // Add dataPoint to DataPoints collection.
                    dataSeries.DataPoints.Add(dataPoint);
                    serAnt = ser;
                }
            }
            catch (Exception Error)
            {
                throw (new Exception(Error.ToString()));
            }
            #endregion
            // Add dataSeries to Series collection.
            chart.Series.Add(dataSeries);
            return chart;
        }
Esempio n. 30
0
        private string ValidaCambioTerritorio()
        {
            Consultas cons = new Consultas();
            //cons.DeleteNMT_CURRENT_FILES(territorio);
            string nombreBD = System.Configuration.ConfigurationManager.AppSettings["NombreBDiSMS"];
            string territorio = cons.DeleteNMT_CURRENT_FILES().Tables[0].Rows[0][0].ToString();
            //Establece etiquetas de territorio
            if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.PrincipalWindow")
            {
                ((PrincipalWindow)parentWin).Dispatcher.Invoke(
                    System.Windows.Threading.DispatcherPriority.Normal,
                    new Action(
                      delegate()
                      {
                          ((PrincipalWindow)parentWin).tbTerrirotio.Text = territorio;
                      }
                  ));
            }

            if (parentWin.GetType().FullName == "IMC.Wpf.CoverFlow.NMT.IndicadorWindow")
            {
                ((IndicadorWindow)parentWin).Dispatcher.Invoke(
                    System.Windows.Threading.DispatcherPriority.Normal,
                    new Action(
                      delegate()
                      {
                          ((IndicadorWindow)parentWin).tbTerrirotio.Text = territorio;
                      }
                  ));
            }

            return territorio;
        }