예제 #1
0
        void CarregaMapaScript()
        {
            int    counter = 0;
            string line;

            System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\dp\Documents\Sistemas\LsMapasNet\LsMapasNet\arquivos\scriptMapa.txt");

            //System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Sistemas\LsMapasNet\LsMapasNet\arquivos\scriptMapa.txt");


            while ((line = file.ReadLine()) != null)
            {
                Mapas ObjMapa = new Mapas();

                string[] Mapalinha = line.Split('|');

                ObjMapa.id              = Convert.ToInt32(Mapalinha[1]);
                ObjMapa.desc_mapa       = Mapalinha[2];
                ObjMapa.obs             = Mapalinha[3];
                ObjMapa.centromapa_lat  = Mapalinha[4];
                ObjMapa.centromapa_long = Mapalinha[5];
                ObjMapa.id_surdo        = Convert.ToInt32(Mapalinha[6]);
                ObjMapa.zoommapa        = Convert.ToDecimal(Mapalinha[7].Replace(".", ","));


                dbMpContex.Mapas.Add(ObjMapa);
                dbMpContex.SaveChanges();

                counter++;
            }
        }
예제 #2
0
        //Actualización de la tabla CtMapas
        public int updateMapas(Mapas upMapa, EncabezadoMapas encabezadoMapa)
        {
            int resultado1 = 0;

            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    base._ProviderDB.ExecuteNonQuery("spUpdCt_Mapas", new DbParameter[] {
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@IdMapa", DbType.String, upMapa.mapaId),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@ClaveMapa", DbType.String, upMapa.ClaveMapa),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Hoja", DbType.Int32, upMapa.hoja),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@FilaEncabezado", DbType.Int32, upMapa.filaEncabezado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Mayorista", DbType.Int32, upMapa.colMayorista),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Presentacion", DbType.Int32, upMapa.colPresentacion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Fecha", DbType.Int32, upMapa.colFecha),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Unidades", DbType.Int32, upMapa.colUnidades),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Medico", DbType.Int32, upMapa.colMedico),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Estado", DbType.Int32, upMapa.colEstado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Hospital", DbType.Int32, upMapa.colHospital),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Sucursal", DbType.Int32, upMapa.colSucursal),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Laboratorio", DbType.Int32, upMapa.colLaboratorio),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Ciudad", DbType.Int32, upMapa.colCiudad),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Colonia", DbType.Int32, upMapa.colColonia),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Direccion", DbType.Int32, upMapa.colDireccion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_CP", DbType.Int32, upMapa.colCP),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Brick", DbType.Int32, upMapa.colBrick),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@dsarchivo", DbType.String, upMapa.dsarchivo)
                    });

                    base._ProviderDB.ExecuteNonQuery("spUpd_EncabMapas", new DbParameter[] {
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@IdMapa", DbType.Int32, upMapa.mapaId),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Mayorista", DbType.String, encabezadoMapa.colMayorista),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Presentacion", DbType.String, encabezadoMapa.colPresentacion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Fecha", DbType.String, encabezadoMapa.colFecha),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Unidades", DbType.String, encabezadoMapa.colUnidades),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Medico", DbType.String, encabezadoMapa.colMedico),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Estado", DbType.String, encabezadoMapa.colEstado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Hospital", DbType.String, encabezadoMapa.colHospital),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Sucursal", DbType.String, encabezadoMapa.colSucursal),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Laboratorio", DbType.String, encabezadoMapa.colLaboratorio),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Ciudad", DbType.String, encabezadoMapa.colCiudad),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Colonia", DbType.String, encabezadoMapa.colColonia),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Direccion", DbType.String, encabezadoMapa.colDireccion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_CP", DbType.String, encabezadoMapa.colCP),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Brick", DbType.String, encabezadoMapa.colBrick)
                    });


                    scope.Complete();
                };
                resultado1 = upMapa.mapaId;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(resultado1);
        }
 public ReceptorPage()
 {
     InitializeComponent();
     this.BindingContext = new IndexPage();
     Mapas.MoveToRegion(MapSpan.FromCenterAndRadius(
                            new Position(-23.4859591, -47.4420192),
                            Distance.FromMiles(0.5)));
 }
예제 #4
0
        //------------------------------Generación de consultas en mapas tabla CtMapas--------------------------------------------------------------------
        #region Generación de consultas en mapas tabla CtMapas
        //Inserta nuevos mapas
        public int InsertaMapa(Mapas Mapas, EncabezadoMapas encabezadoMapa)
        {
            try
            {
                DbParameter ldMapa = DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB,
                                                                 "@IdCatMapa", DbType.Int32, DBNull.Value, -1, ParameterDirection.Output);
                using (TransactionScope scope = new TransactionScope())
                {
                    base._ProviderDB.ExecuteNonQuery("spIns_Mapa", new DbParameter[] {
                        ldMapa,
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@ClaveMapa", DbType.String, Mapas.ClaveMapa),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Hoja", DbType.Int32, Mapas.hoja),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@FilaEncabezado", DbType.Int32, Mapas.filaEncabezado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Mayorista", DbType.Int32, Mapas.colMayorista),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Presentacion", DbType.Int32, Mapas.colPresentacion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Fecha", DbType.Int32, Mapas.colFecha),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Unidades", DbType.Int32, Mapas.colUnidades),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Medico", DbType.Int32, Mapas.colMedico),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Estado", DbType.Int32, Mapas.colEstado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Hospital", DbType.Int32, Mapas.colHospital),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Sucursal", DbType.Int32, Mapas.colSucursal),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Laboratorio", DbType.Int32, Mapas.colLaboratorio),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Ciudad", DbType.Int32, Mapas.colCiudad),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Colonia", DbType.Int32, Mapas.colColonia),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Direccion", DbType.Int32, Mapas.colDireccion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_CP", DbType.Int32, Mapas.colCP),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Brick", DbType.Int32, Mapas.colBrick),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@dsarchivo", DbType.String, Mapas.dsarchivo)
                    });

                    base._ProviderDB.ExecuteNonQuery("spIns_CtEncabezadoMapa", new DbParameter[] {
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@IdMapa", DbType.Int32, ldMapa.Value),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Mayorista", DbType.String, encabezadoMapa.colMayorista),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Presentacion", DbType.String, encabezadoMapa.colPresentacion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Fecha", DbType.String, encabezadoMapa.colFecha),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Unidades", DbType.String, encabezadoMapa.colUnidades),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Medico", DbType.String, encabezadoMapa.colMedico),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Estado", DbType.String, encabezadoMapa.colEstado),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Hospital", DbType.String, encabezadoMapa.colHospital),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Sucursal", DbType.String, encabezadoMapa.colSucursal),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Laboratorio", DbType.String, encabezadoMapa.colLaboratorio),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Ciudad", DbType.String, encabezadoMapa.colCiudad),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Colonia", DbType.String, encabezadoMapa.colColonia),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Direccion", DbType.String, encabezadoMapa.colDireccion),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_CP", DbType.String, encabezadoMapa.colCP),
                        DataFactory.GetObjParameter(GlobalConfiguration.ProviderDB, "@Col_Brick", DbType.String, encabezadoMapa.colBrick)
                    });
                    scope.Complete();
                }
                return(Convert.ToInt32(ldMapa.Value));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #5
0
 //Verifica una busqueda de mapa sin importar carcateres ni mayus-minus
 public static int modificaMapa(Mapas mapaId, EncabezadoMapas encabezadoMap)
 {
     try
     {
         return(new RepositorioConsultas().updateMapas(mapaId, encabezadoMap));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #6
0
 //Inserta mapas a la bd
 public static int InsertaMapa(Mapas mapa, EncabezadoMapas encabezadoMapa)
 {
     try
     {
         return(new RepositorioConsultas().InsertaMapa(mapa, encabezadoMapa));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #7
0
        void DesenharTela()
        {
            int x, y, a;
            int numLinha = 3; // espaçamento da HUD

            //Cria uma copia zerada do mapa
            Mapas temp        = new Mapas();
            Mapa  mapaDesenho = new Mapa(mapa.Grid);

            var originalColor = Console.ForegroundColor;

            Console.SetCursorPosition(0, 0);
            Console.WriteLine("PONTUAÇÃO: {0}    TEMPO: {1}:{2}", hud.pontos, hud.minutos, hud.segundos);
            Console.SetCursorPosition(0, 1);
            Console.Write(new string(' ', Console.WindowWidth));
            Console.SetCursorPosition(0, 1);
            Console.Write("CHAVES: ");

            for (a = 0; a < chaves.Count(); a++)
            {
                Console.ForegroundColor = chaves[a].Cor;
                Console.Write(chaves[a].caractere.ToString());
                Console.Write(" ");
            }
            Console.ForegroundColor = originalColor;
            for (x = 0; x < mapaDesenho.Grid.GetLength(0); x++)
            {
                Console.SetCursorPosition(0, numLinha);
                for (y = 0; y < mapaDesenho.Grid.GetLength(1); y++)
                {
                    if (y == personagem.x && x == personagem.y)
                    {
                        Console.ForegroundColor = personagem.posicao.Cor;
                        Console.Write(personagem.posicao.caractere.ToString());
                    }
                    else
                    {
                        Console.ForegroundColor = mapaDesenho.Grid[x, y].Cor;
                        Console.Write(mapaDesenho.Grid[x, y].GetChar().ToString());
                    }
                }
                numLinha++;
            }
            Console.CursorVisible   = false;
            Console.ForegroundColor = originalColor;
        }
예제 #8
0
        public ActionResult EditarMapa(int idMapa)
        {
            try
            {
                mapaTrabajo = new Mapas();
                //Buscamos el los datos del mapa porid
                mapaTrabajo = FacadeMapa.ObtenerMapasById(idMapa);

                //Variables de Mapa
                ViewBag.ClaveMapa    = mapaTrabajo.ClaveMapa;
                ViewBag.NoEncabezado = mapaTrabajo.filaEncabezado;
                ViewBag.NoHoja       = mapaTrabajo.hoja;
                ViewBag.dsarchivo    = mapaTrabajo.dsarchivo.Substring(36, mapaTrabajo.dsarchivo.Length - 36);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(View()); // aquí creo que se tiene que enviar como parámetro la lista map
        }
예제 #9
0
 public ActionResult Edit(Mapas ObjMapa)
 {
     try
     {
         // TODO: Add update logic here
         if (ModelState.IsValid)
         {
             dbMpContex.Entry(ObjMapa).State = System.Data.Entity.EntityState.Modified;
             dbMpContex.SaveChanges();
             return(RedirectToAction("Index"));
         }
         ViewBag.Erro = string.Empty;
         return(View(ObjMapa));
     }
     catch (Exception ex)
     {
         ViewBag.Erro = ex.Message.ToString();
         return(View(ObjMapa));
     }
 }
예제 #10
0
        public ActionResult Create(Mapas ObjMapa)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    dbMpContex.Mapas.Add(ObjMapa);
                    dbMpContex.SaveChanges();
                    return(RedirectToAction("Index"));
                }

                ViewBag.Erro = string.Empty;
                return(View(ObjMapa));
            }
            catch (Exception ex)
            {
                ViewBag.Erro = ex.Message.ToString();
                return(View(ObjMapa));
            }
        }
예제 #11
0
        //Genera un "NUEVO MAPA" de exportación al seleccionar Nuevo en administración y realizar la busqueda del archivo excel seleccionando las columnas y damos guardar en la BD
        public ActionResult GuardarMapa(string DatosExcel, string ClaveMapa, int NoFilaHeaders, int hoja, Boolean IsNuevo)
        {
            Resultado <string> resultado = new Resultado <string>();

            try
            {
                //Validamos la clave del mapa
                if (IsNuevo)
                {
                    List <Mapas> mapasRegistrados = FacadeMapa.VerificarMapa(ClaveMapa);
                    if (mapasRegistrados.Count > 0)
                    {
                        throw new Exception("El Mapa ya se encuentra registrado.");
                    }
                }
                //insertar splite
                string[] columns = DatosExcel.Split('_');
                if (columns.Length < 2)
                {
                    resultado.ProcesoExitoso = 0;
                    resultado.Mensaje        = "Debe Seleccionar por lo menos 2 columnas de mapeo en Excel.";
                    return(Json(resultado, JsonRequestBehavior.DenyGet));
                }
                else
                {
                    Mapas nuevoMapa = new Mapas();
                    nuevoMapa.ClaveMapa      = ClaveMapa;
                    nuevoMapa.hoja           = hoja;
                    nuevoMapa.filaEncabezado = NoFilaHeaders;

                    // Inicializamos EncabezadoMapa para guardar el nombre delencabezado
                    EncabezadoMapas nombreColumna = new EncabezadoMapas();

                    //Iniciamos la carga de documento para obtener los nombres de de los headers.
                    //Creamos una nueva instancia con el archivo que utilizaremos como plantilla.
                    ExcelPackage pantillaExcel = new ExcelPackage(new FileInfo(rutaDocumento));

                    //Creamos un objecto tipo ExcelWorksheet que sera en la que vamos a trabajar.
                    ExcelWorksheet hojaEncabezado = pantillaExcel.Workbook.Worksheets[hoja];

                    String[] columnasExcel = DatosExcel.Split('_');
                    foreach (string campoColumna in columnasExcel)
                    {
                        String[] datosColumna  = campoColumna.Split(',');
                        int      numeroColumna = Convert.ToInt32(datosColumna[0]);
                        int      valorColumna  = Convert.ToInt32(datosColumna[1]);

                        String textoColumna = "";
                        if (valorColumna == 1)
                        {
                            if (nuevoMapa.colMayorista == 0)
                            {
                                nuevoMapa.colMayorista     = numeroColumna;
                                nombreColumna.colMayorista = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Mayorista";
                            }
                        }

                        if (valorColumna == 2)
                        {
                            if (nuevoMapa.colPresentacion == 0)
                            {
                                nuevoMapa.colPresentacion     = numeroColumna;
                                nombreColumna.colPresentacion = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Presentacion";
                            }
                        }

                        if (valorColumna == 3)
                        {
                            if (nuevoMapa.colFecha == 0)
                            {
                                nuevoMapa.colFecha     = numeroColumna;
                                nombreColumna.colFecha = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Fecha";
                            }
                        }

                        if (valorColumna == 4)
                        {
                            if (nuevoMapa.colUnidades == 0)
                            {
                                nuevoMapa.colUnidades     = numeroColumna;
                                nombreColumna.colUnidades = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Unidades";
                            }
                        }

                        if (valorColumna == 5)
                        {
                            if (nuevoMapa.colMedico == 0)
                            {
                                nuevoMapa.colMedico     = numeroColumna;
                                nombreColumna.colMedico = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Medico";
                            }
                        }

                        if (valorColumna == 6)
                        {
                            if (nuevoMapa.colEstado == 0)
                            {
                                nuevoMapa.colEstado     = numeroColumna;
                                nombreColumna.colEstado = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Estado";
                            }
                        }

                        if (valorColumna == 7)
                        {
                            if (nuevoMapa.colHospital == 0)
                            {
                                nuevoMapa.colHospital     = numeroColumna;
                                nombreColumna.colHospital = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Hospital";
                            }
                        }

                        if (valorColumna == 8)
                        {
                            if (nuevoMapa.colSucursal == 0)
                            {
                                nuevoMapa.colSucursal     = numeroColumna;
                                nombreColumna.colSucursal = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Sucursal";
                            }
                        }

                        if (valorColumna == 9)
                        {
                            if (nuevoMapa.colLaboratorio == 0)
                            {
                                nuevoMapa.colLaboratorio     = numeroColumna;
                                nombreColumna.colLaboratorio = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Laboratorio";
                            }
                        }

                        if (valorColumna == 10)
                        {
                            if (nuevoMapa.colCiudad == 0)
                            {
                                nuevoMapa.colCiudad     = numeroColumna;
                                nombreColumna.colCiudad = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Ciudad";
                            }
                        }

                        if (valorColumna == 11)
                        {
                            if (nuevoMapa.colColonia == 0)
                            {
                                nuevoMapa.colColonia     = numeroColumna;
                                nombreColumna.colColonia = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Colonia";
                            }
                        }

                        if (valorColumna == 12)
                        {
                            if (nuevoMapa.colDireccion == 0)
                            {
                                nuevoMapa.colDireccion     = numeroColumna;
                                nombreColumna.colDireccion = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Direccion";
                            }
                        }

                        if (valorColumna == 13)
                        {
                            if (nuevoMapa.colCP == 0)
                            {
                                nuevoMapa.colCP     = numeroColumna;
                                nombreColumna.colCP = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "CP";
                            }
                        }

                        if (valorColumna == 14)
                        {
                            if (nuevoMapa.colBrick == 0)
                            {
                                nuevoMapa.colBrick     = numeroColumna;
                                nombreColumna.colBrick = hojaEncabezado.Cells[NoFilaHeaders, numeroColumna].Text.ToUpper();
                            }
                            else
                            {
                                textoColumna = "Brick";
                            }
                        }

                        if (textoColumna != String.Empty)
                        {
                            throw new Exception("El campo \"" + textoColumna + "\" ya fue proporcionado en otra columna del Excel.");
                        }
                    }

                    if (nuevoMapa.colUnidades == 0)
                    {
                        resultado.Mensaje = "No se ha seleccionado la columna de Unidades.";
                    }
                    else
                    {
                        //Obtenemos el nombre del documento
                        nuevoMapa.dsarchivo = System.IO.Path.GetFileName(rutaDocumento);
                        if (IsNuevo == true)
                        {
                            int idMapa = FacadeMapa.InsertaMapa(nuevoMapa, nombreColumna);
                        }
                        else
                        {
                            nuevoMapa.mapaId = mapaTrabajo.mapaId;
                            int idMapa = FacadeMapa.modificaMapa(nuevoMapa, nombreColumna);
                        }
                        resultado.ProcesoExitoso = 1;
                    }
                }
            }
            catch (Exception ex)
            {
                resultado.ProcesoExitoso = 0;
                resultado.Mensaje        = ex.Message;
            }
            return(Json(resultado, JsonRequestBehavior.DenyGet));
        }
예제 #12
0
        public ActionResult ProcesarArchivo(String mesProceso)
        {
            Resultado <Catalogo> resultadoArchivo = new Resultado <Catalogo>();
            int IdPro  = 0;
            int llmapa = 0;

            try
            {
                DateTime fechaProceso = Convert.ToDateTime(DateTime.ParseExact(mesProceso, "dd/MM/yyyy", CultureInfo.CurrentUICulture.DateTimeFormat));
                mapaTrabajo = new ProcesoMapas();
                //agregamos el .exe

                //Validar Campos de pantalla.
                Boolean isCorrecto   = true;
                string  mensajeError = "";
                //Obtenemos el prefigo del arvhivo
                resultadoArchivo.ProcesoExitoso = 0;
                if (Request.Files.Count == 0)
                {
                    isCorrecto = false;
                    resultadoArchivo.Mensaje = "Debes seleccionar un archivo para ejecutar.";
                    return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
                }

                string[] sufijo = Request.Files[0].FileName.Split('_');
                if (!Request.Files[0].FileName.ToUpper().EndsWith(".XLS") && !Request.Files[0].FileName.ToUpper().EndsWith(".XLSX"))
                {
                    isCorrecto   = false;
                    mensajeError = "Seleccione un archivo correcto en formato Excel.";
                }

                //// Si no existe ningun mapa ejecutado mandamos mensaje para que ejecuten primero la carga mensual
                List <ProcesoMapas> procesomapa = FacadeProceso.ConsultaProcesoByFecha(fechaProceso.Date.Year, fechaProceso.Date.Month);
                if (procesomapa.Count == 0)
                {
                    //throw new Exception("No se ha encontrado ningún mapa, ejecute primero el proceso mensual para cargar los mapas.");
                    //1 Insert Procesos
                    Procesos proceso2  = new Procesos();
                    DateTime fechaHoy2 = DateTime.Now;
                    proceso2.boprocesomanual = true;
                    proceso2.fcinicio        = fechaHoy2.ToString("dd/MM/yyyy");
                    proceso2.dslog           = "Se inicia carga manual";
                    proceso2.dsmes           = fechaProceso.Date.Month;
                    proceso2.dsanio          = Convert.ToInt32(fechaProceso.Date.ToString("yyyy"));
                    IdPro = FacadeProceso.InsertarMvProceso(proceso2);
                }

                if (!isCorrecto)
                {
                    Procesos formato = new Procesos();
                    resultadoArchivo.Mensaje = mensajeError;
                    return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
                }


                string datoPrefijo = sufijo[0];


                //Obtenemos el mapa a cargar por el prefijo
                List <Mapas> mapas = FacadeMapa.ObtenerMapasByPrefijo(datoPrefijo);

                //1 Insert Procesos
                Procesos proceso  = new Procesos();
                DateTime fechaHoy = DateTime.Now;
                proceso.boprocesomanual = true;
                proceso.fcinicio        = fechaHoy.ToString("dd/MM/yyyy");
                proceso.dslog           = "Se inicia carga manual";
                proceso.dsmes           = fechaProceso.Date.Month;
                proceso.dsanio          = Convert.ToInt32(fechaProceso.Date.ToString("yyyy"));
                IdPro = FacadeProceso.InsertarMvProceso(proceso);

                if (mapas.Count == 0)
                {
                    //inserta log
                    Procesos lg = new Procesos();
                    proceso.dslog = ("Error sin ejecutar:");
                    resultadoArchivo.ProcesoExitoso = 3;
                    resultadoArchivo.Mensaje        = "No se ha encontrado el mapa asociado";
                }
                else
                {
                    //Validamos si el mapa existe
                    if (procesomapa.Where(x => x.llproceso == IdPro && x.llmapa == mapas.First().mapaId&& x.llestatusMapa == 2).Count() > 0)
                    {
                        throw new Exception("El mapa ya se ha cargado para este proceso.");
                    }

                    //Cargamos el archivo en temporales
                    string rutaDocumento = HostingEnvironment.MapPath("~/Temporal/" + Guid.NewGuid().ToString() + System.IO.Path.GetExtension(Request.Files[0].FileName));
                    Request.Files[0].SaveAs(rutaDocumento);

                    Mapas mapaExtraccion = mapas.First();

                    ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 4, Request.Files[0].FileName, "Inicia el proceso de extracción del archivo \"" + Request.Files[0].FileName + "\"");
                    ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 0, null, "Mapa encontrado \"" + mapaExtraccion.ClaveMapa + "\"");

                    mapaTrabajo.llproceso = IdPro;
                    mapaTrabajo.llmapa    = mapaExtraccion.mapaId;

                    //2 inserta proceso_mapa mapa-proceso
                    Procesos proMapa = new Procesos();
                    proMapa.IdMapa     = mapaExtraccion.mapaId;
                    proMapa.llprocesos = IdPro;
                    int IdPros = FacadeProceso.InsertaProcMapas(proMapa);



                    //Modificamos la seccion de tareas con EPPlus
                    //Creamos una nueva instancia con el archiv que utilizaremos como plantilla.
                    ExcelPackage pantillaExcel = new ExcelPackage(new FileInfo(rutaDocumento));

                    //Creamos un objecto tipo ExcelWorksheet que sera en la que vamos a trabajar.
                    ExcelWorksheet hojaTrabajo = pantillaExcel.Workbook.Worksheets[mapaExtraccion.hoja];

                    //Validamos los encabezados
                    string statusError = ValidarHeaders(hojaTrabajo, mapaExtraccion, IdPro);
                    if (statusError != String.Empty)
                    {
                        resultadoArchivo.ProcesoExitoso = 4;
                        resultadoArchivo.Mensaje        = "Los encabezados no coinciden con el mapa configurado  <br/>" + statusError;
                        ActualizaProcesoMapa(IdPro, llmapa, 3, null, "La validación de encabezados terminó con errores.");
                        return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
                    }
                    //Datos del excel
                    //Llamamos la consulta del excel.
                    List <Catalogo> datosCatalogo = DatosExcel(hojaTrabajo, mapaExtraccion, IdPro);

                    // Actualizamos el estatus del mapa
                    ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 1, null, "Mapa procesado correctamente.");

                    resultadoArchivo.Lista          = datosCatalogo;
                    resultadoArchivo.ProcesoExitoso = 1;
                }
            }
            catch (Exception ex)
            {
                //Actualizamos el estatus del mapa
                if (IdPro != 0 && llmapa != 0)
                {
                    ActualizaProcesoMapa(IdPro, llmapa, 3, null, ex.Message);
                }

                resultadoArchivo.ProcesoExitoso = 0;
                resultadoArchivo.Mensaje        = ex.Message;
            }
            return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
        }
예제 #13
0
        public string ValidarHeaders(ExcelWorksheet hojaTrabajo, Mapas mapaExtraccion, int idproceso)
        {
            string ErrorHeader = "";

            try
            {
                EncabezadoMapas datosencabezado  = FacadeMapa.ConsultaEncabezadoByllmapa(mapaExtraccion.mapaId);
                int             FilaInicial      = mapaExtraccion.filaEncabezado;
                Boolean         isCorrectHeaders = true;
                string          HeaderArchivo    = "";
                string          HeaderMapa       = "";
                if (mapaExtraccion.colMayorista != 0)
                {
                    //Cargamos los datos a validar.
                    HeaderMapa    = limpiaHeader(datosencabezado.colMayorista);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colMayorista].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colPresentacion != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colPresentacion);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colPresentacion].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colFecha != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colFecha);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colFecha].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colUnidades != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colUnidades);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colUnidades].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colMedico != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colMedico);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colMedico].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colEstado != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colEstado);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colEstado].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colHospital != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colHospital);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colHospital].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colSucursal != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colSucursal);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colSucursal].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colLaboratorio != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colLaboratorio);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colLaboratorio].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colCiudad != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colCiudad);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colCiudad].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colColonia != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colColonia);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colColonia].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colDireccion != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colDireccion);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colDireccion].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }

                if (mapaExtraccion.colCP != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colCP);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colCP].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }
                if (mapaExtraccion.colBrick != 0)
                {
                    HeaderMapa    = limpiaHeader(datosencabezado.colBrick);
                    HeaderArchivo = limpiaHeader(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colBrick].Text);
                    if (HeaderArchivo != HeaderMapa)
                    {
                        isCorrectHeaders = false;
                        //Actualizamos el log del mapa con el error
                        ErrorHeader = ErrorHeader + Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa) + " <br />";
                        ActualizaProcesoMapa(idproceso, mapaExtraccion.mapaId, 0, null, Constantes.MESAJE_ERROR_HEADERS_MAPA.Replace("[HEADER_AR]", HeaderArchivo).Replace("[HEADER_MAP]", HeaderMapa));
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(ErrorHeader);
        }
예제 #14
0
        private List <Catalogo> DatosExcel(ExcelWorksheet hojaTrabajo, Mapas mapaExtraccion, int idproceso)
        {
            int             x           = 1;
            int             y           = 0;
            int             FilaInicial = mapaExtraccion.filaEncabezado + 1;
            List <Catalogo> catalogo    = new List <Catalogo>();
            Boolean         inserta     = false;

            try {
                //Datos del excel
                while (x == 1)
                {
                    try
                    {
                        Catalogo Catalogo = new Catalogo()
                        {
                            Brick        = "",
                            Ciudad       = "",
                            Colonia      = "",
                            CP           = "",
                            Direccion    = "",
                            Estado       = "",
                            Fecha        = "",
                            Hospital     = "",
                            Laboratorio  = "",
                            Mayorista    = "",
                            Medico       = "",
                            Presentacion = "",
                            Sucursal     = "",
                            Unidades     = 0,
                            IdCatalog    = 0,
                            Id_mapa      = 0,
                            llproceso    = idproceso
                        };
                        //Inicializamos variable en false
                        inserta = false;

                        if (mapaExtraccion.colMayorista != 0)
                        {
                            Catalogo.Mayorista = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colMayorista].Text;
                        }

                        if (mapaExtraccion.colPresentacion != 0)
                        {
                            Catalogo.Presentacion = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colPresentacion].Text;
                        }

                        if (mapaExtraccion.colFecha != 0)
                        {
                            object archivo = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colFecha].Value;
                            Catalogo.Fecha = (archivo == null ? "" : archivo.ToString());// hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colFecha].Value.ToString();
                        }

                        if (mapaExtraccion.colUnidades != 0)
                        {
                            string unida = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colUnidades].Text;

                            try
                            {
                                Catalogo.Unidades = Convert.ToDouble(hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colUnidades].Text);
                                inserta           = true;
                            }
                            catch (Exception ex)
                            {
                            }
                        }

                        if (mapaExtraccion.colMedico != 0)
                        {
                            Catalogo.Medico = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colMedico].Text;
                        }

                        if (mapaExtraccion.colEstado != 0)
                        {
                            Catalogo.Estado = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colEstado].Text;
                        }

                        if (mapaExtraccion.colHospital != 0)
                        {
                            Catalogo.Hospital = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colHospital].Text;
                        }

                        if (mapaExtraccion.colSucursal != 0)
                        {
                            Catalogo.Sucursal = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colSucursal].Text;
                        }

                        if (mapaExtraccion.colLaboratorio != 0)
                        {
                            Catalogo.Laboratorio = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colLaboratorio].Text;
                        }

                        if (mapaExtraccion.colCiudad != 0)
                        {
                            Catalogo.Ciudad = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colCiudad].Text;
                        }

                        if (mapaExtraccion.colColonia != 0)
                        {
                            Catalogo.Colonia = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colColonia].Text;
                        }

                        if (mapaExtraccion.colDireccion != 0)
                        {
                            Catalogo.Direccion = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colDireccion].Text;
                        }

                        if (mapaExtraccion.colCP != 0)
                        {
                            Catalogo.CP = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colCP].Text;
                        }
                        if (mapaExtraccion.colBrick != 0)
                        {
                            Catalogo.Brick = hojaTrabajo.Cells[FilaInicial, mapaExtraccion.colBrick].Text;
                        }

                        Boolean final = ValidaFinalExcel(Catalogo);
                        //Validamos que ya no existan mas registros en la fila
                        if (final)
                        {
                            x = 0;
                        }

                        //2 inserta mapa temp
                        if (inserta == true && x == 1)
                        {
                            Catalogo.Id_mapa = mapaExtraccion.mapaId;
                            FacadeCatalogoTem.InsertCatalogoTemp(Catalogo);
                            catalogo.Add(Catalogo);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    y++;
                    FilaInicial++;

                    /*if (y == 50)
                     * {
                     *  x = 0;
                     * }*/
                }
            }
            catch (Exception ex) {
                throw ex;
            }
            return(catalogo);
        }
예제 #15
0
        public ActionResult ProcesarCarpeta(String mesProceso)
        {
            Resultado <ProcesoMapas> resultadoArchivo = new Resultado <ProcesoMapas>();

            try
            {
                DateTime fechaProceso = Convert.ToDateTime(DateTime.ParseExact(mesProceso, "dd/MM/yyyy", CultureInfo.CurrentUICulture.DateTimeFormat));
                Procesos proceso      = new Procesos();
                DateTime fechaHoy     = DateTime.Now;
                proceso.boprocesomanual = false;
                proceso.dslog           = "";
                proceso.dsmes           = fechaProceso.Date.Month;
                proceso.dsanio          = Convert.ToInt32(fechaProceso.Date.ToString("yyyy"));
                int IdPro = FacadeProceso.InsertarMvProceso(proceso);
                procesoTrabajo           = new ProcesoMapas();
                procesoTrabajo.llproceso = IdPro;
                //Validamos el tipo de acceso a archivos.
                String        tipoAccesoArchivos = ConfigurationManager.AppSettings["usarFTP"];
                List <string> archivos;
                if (tipoAccesoArchivos.Equals("true"))
                {
                    //Obtenemos los archivos del FTP
                    archivos = InteraccionFTP.obtenerListaArchivos(FacadeFTP.ConsultaFTP(), fechaProceso.Date.ToString("yyyy"), Convert.ToString(fechaProceso.Date.Month));
                }
                else
                {
                    //Obtenemos los datos de la carpeta y almacenamos los procedimientos de mapas.
                    string mes = Convert.ToString(fechaProceso.Date.Month);
                    if (fechaProceso.Date.Month < 10)
                    {
                        mes = "0" + mes;
                    }
                    String[] archivosRuta = System.IO.Directory.GetFiles(ConfigurationManager.AppSettings["RutaDocumentos"] + fechaProceso.Date.ToString("yyyy") + "//" + mes);

                    archivos = new List <string>(archivosRuta);
                }

                if (archivos.Count == 0)
                {
                    resultadoArchivo.ProcesoExitoso = 0;
                    resultadoArchivo.Mensaje        = "No se han encontrado archivos a procesar.";
                    return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
                }

                //recorremos todos los archivos y los escribimos en consola
                List <ProcesoMapas> ListaProcesosMapas = new List <ProcesoMapas>();
                foreach (var rutaarchivo in archivos)
                {
                    Console.WriteLine(rutaarchivo);
                    String       archivo     = System.IO.Path.GetFileName(rutaarchivo);
                    ProcesoMapas procesoMapa = new ProcesoMapas();
                    procesoMapa.llproceso = IdPro;
                    procesoMapa.dsarchivo = archivo;



                    //Obtenemos el prefigo del arvhivo
                    string[] sufijo      = archivo.Split('_');
                    string   datoPrefijo = sufijo[0];
                    //Obtenemos el mapa a cargar por el prefijo
                    List <Mapas> mapas = FacadeMapa.BuscaMapa(datoPrefijo);


                    if (mapas.Count == 0)
                    {
                        // update log no hay mapa
                        procesoMapa.dslogMapa     = "No se ha encontrado el mapa asociado";
                        procesoMapa.llestatusMapa = 3;
                        FacadeErrores.InsertaErrorMapa(IdPro, archivo);
                    }
                    else
                    {
                        //Verificamos si el mapa ya esta cargado en catalogo.
                        List <ProcesoMapas> mapa = FacadeProceso.ConsultaAllProcesoMapaByIdproceso(procesoTrabajo.llproceso).Where(x => x.llmapa == mapas.First().mapaId&& x.llestatusMapa == 2).ToList();

                        if (mapa.Count() > 0)
                        {
                            procesoMapa.llmapa        = mapa.First().llmapa;
                            procesoMapa.fcinicio      = mapa.First().fcinicio;
                            procesoMapa.llestatusMapa = mapa.First().llestatusMapa;
                            procesoMapa.dsmapa        = mapa.First().dsmapa;
                        }
                        else
                        {
                            //Cargamos el archivo en temporales
                            string rutaDocumento = HostingEnvironment.MapPath("~/Temporal/" + Guid.NewGuid().ToString() + System.IO.Path.GetExtension(archivo));

                            System.IO.File.Copy(rutaarchivo, rutaDocumento, true);
                            //Request.Files[0].SaveAs(rutaDocumento);

                            Mapas mapaExtraccion = mapas.First();

                            //si mapa extraccion es igual 86 imprime laa linea
                            Console.WriteLine(rutaarchivo);
                            procesoMapa.llmapa    = mapaExtraccion.mapaId;
                            procesoMapa.dsmapa    = mapaExtraccion.ClaveMapa;
                            procesoMapa.dslogMapa = "Inicia el proceso de extracción del archivo + " + archivo;
                            procesoMapa.dslogMapa = procesoMapa.dslogMapa + "Mapa encontrado" + mapaExtraccion.ClaveMapa;
                            //Inserta proceso mapa///////////////////////////////verificar
                            Procesos proMapa = new Procesos();
                            proMapa.IdMapa     = mapaExtraccion.mapaId;
                            proMapa.llprocesos = IdPro;

                            //Datos del excel
                            List <Catalogo> datosCatalogo = new List <Catalogo>();
                            try
                            {
                                int IdPros = FacadeProceso.InsertaProcMapas(proMapa);
                                procesoMapa.fcinicio = DateTime.Now.ToString();
                                //Actualizamos el inicio del mapa
                                ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 4, archivo, "Inicia el proceso de extracción del archivo " + archivo);
                                ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 0, null, "Mapa encontrado " + mapaExtraccion.ClaveMapa);


                                //Modificamos la seccion de tareas con EPPlus
                                //Creamos una nueva instancia con el archiv que utilizaremos como plantilla.
                                ExcelPackage pantillaExcel = new ExcelPackage(new FileInfo(rutaDocumento));
                                //Creamos un objecto tipo ExcelWorksheet que sera en la que vamos a trabajar.
                                ExcelWorksheet hojaTrabajo = pantillaExcel.Workbook.Worksheets[mapaExtraccion.hoja];

                                //Validamos los encabezados
                                string statusError = ValidarHeaders(hojaTrabajo, mapaExtraccion, IdPro);
                                if (statusError != String.Empty)
                                {
                                    throw new Exception("La validación de encabezados terminó con errores.");
                                }

                                //Obtenemos los datos del exel
                                datosCatalogo             = DatosExcel(hojaTrabajo, mapaExtraccion, IdPro);
                                procesoMapa.llestatusMapa = 1;
                                ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 1, null, "Mapa procesado correctamente.");
                            }
                            catch (Exception ex)
                            {
                                string errorMessage = ex.Message;
                                procesoMapa.dslogMapa     = (procesoMapa.dslogMapa + errorMessage);
                                procesoMapa.llestatusMapa = 3;
                                //Actualizamos el estatus a error
                                ActualizaProcesoMapa(IdPro, mapaExtraccion.mapaId, 3, null, errorMessage);
                            }


                            procesoMapa.catalogos = datosCatalogo;
                        }
                    }
                    ListaProcesosMapas.Add(procesoMapa);
                }
                resultadoArchivo.Lista = ListaProcesosMapas;
                //Recuperamos los archivos que no se encontro mapa.
                resultadoArchivo.Listado = FacadeErrores.ConsultaErrores(fechaProceso.Date.Year, fechaProceso.Date.Month);
                foreach (ProcesoMapas mapaerror in ListaProcesosMapas.Where(x => x.llestatusMapa == 4 || x.llestatusMapa == 3).ToList())
                {
                    if (resultadoArchivo.Listado.Where(x => x.llmapa == mapaerror.llmapa).Count() == 0)
                    {
                        resultadoArchivo.Listado.Add(mapaerror);
                    }
                }



                resultadoArchivo.ProcesoExitoso = 1;
            }
            catch (Exception ex)
            {
                resultadoArchivo.ProcesoExitoso = 0;
                resultadoArchivo.Mensaje        = ex.Message;
            }
            return(Json(resultadoArchivo, JsonRequestBehavior.DenyGet));
        }
예제 #16
0
        public Mapa()
        {
            Mapas mapas = new Mapas();

            Grid = mapas.getMapa1();
        }