Esempio n. 1
0
        /// <summary>
        /// Método para rescatar el valor de un atributo, dado un atributo y valor por el cual se filtrará el registro.
        /// ESTOS CAMPOS VIENEN DESDE EL CONTROLADOR LISTARCASOS, EN LOS METODOS CASOSPENDIENTES Y BUSQUEDADECASOS, ANTES DE AÑADIR LA FILA DE MOTIVO FILTRADO POR CODIGO
        /// </summary>
        /// <param name="tabla">Nombre de tabla a consultar</param>
        /// <param name="nomAtributoTabla">Atributo por el cual filtrar</param>
        /// <param name="valorEnviado">Valor enviado al atributo filtrado</param>
        /// <param name="valorObtenido">Valor obtenido de un atributo a elección</param>
        /// <returns></returns>
        public static string ObtenerAtributoParametricaByCod(string tabla, string nomAtributoTabla, string valorEnviado, string valorObtenido)
        {
            string lista = string.Empty;
            string campo = string.Empty;

            try
            {
                // XML Búsqueda
                string xmlGetEntities = @"
                    <BizAgiWSParam>
                        <EntityData>
                            <EntityName>" + tabla + @"</EntityName>
                            <Filters>
                                <![CDATA[" + nomAtributoTabla + " = '" + valorEnviado + @"']]>
                            </Filters>
                        </EntityData>
                    </BizAgiWSParam>
                ";

                //Escribir log CSV
                EscribirLog("Obtener atributos de parametricas", "ObtenerAtributoParametricaByCod", xmlGetEntities);
                //Fin CSV

                // Abrir conexión a servicio web
                //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                // Buscar en Bizagi
                string respuesta = servicioQuery.getEntitiesAsString(xmlGetEntities);

                //Escribir log CSV
                EscribirLog("Respuesta", "ObtenerAtributoParametricaByCod", respuesta);
                //Fin CSV

                // Convertir a XML
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(respuesta);


                campo = doc.SelectSingleNode("/BizAgiWSResponse/Entities/" + tabla + "/" + valorObtenido).InnerText;

                //Escribir log CSV
                EscribirLog("Atributo rescatado", "ObtenerAtributoParametricaByCod", campo);
                //Fin CSV
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                EscribirLog("ERROR", "ObtenerAtributoParametricaByCod", ex.Message);
                //Fin CSV
            }
            return(campo);
        }
Esempio n. 2
0
        /// <summary>
        /// Método para crear listas desplegables desde una paramétrica de Bizagi
        /// </summary>
        /// <param name="tabla">Nombre de tabla paramétrica</param>
        /// <param name="campoVisual">Campo que se va a mostrar como opción</param>
        /// <returns></returns>
        public static string ListarParametricaConPadre(string tabla, string campoVisual, string padre)
        {
            string lista = string.Empty;

            try
            {
                // XML Búsqueda
                string xmlGetEntities = @"
                    <BizAgiWSParam>
                        <EntityData>
                            <EntityName>" + tabla + @"</EntityName>
                            <Filters>
                                <![CDATA[dsbl" + tabla + @" = " + false + @"]]>
                            </Filters>
                        </EntityData>
                    </BizAgiWSParam>
                ";
                //Escribir log CSV
                EscribirLog("Listar motivo/submotivo", "ListarParametricaConPadre", xmlGetEntities);
                //Fin CSV

                // Abrir conexión a servicio web
                //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                // Buscar en Bizagi
                string respuesta = servicioQuery.getEntitiesAsString(xmlGetEntities);

                //Escribir log CSV
                EscribirLog("Respuesta", "ListarParametricaConPadre", respuesta);
                //Fin CSV

                // Convertir a XML
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(respuesta);

                // Recorrer los resultados
                foreach (XmlNode item in doc.SelectNodes("/BizAgiWSResponse/Entities/" + tabla))
                {
                    // Obtener campos
                    string id         = item.Attributes["key"].Value;
                    string campo      = item.SelectSingleNode(campoVisual).InnerText;
                    string campoPadre = item.SelectSingleNode(padre).InnerText;

                    string motivoRelacion = campoPadre.Substring(0, campoPadre.Length - 1);

                    // Crear opción
                    lista += "<option data-father='" + motivoRelacion + @"' value='" + id + @"'>" + campo + @"</option>";
                }

                //Escribir log CSV
                EscribirLog("Lista opciones generada", "ListarParametricaConPadre", lista);
                //Fin CSV
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                EscribirLog("ERROR", "ListarParametrica", ex.Message);
                //Fin CSV
            }

            return(lista);
        }
Esempio n. 3
0
        public string ActualizarCasoArchivos(FormCollection collection, IEnumerable <HttpPostedFileBase> files)
        {
            string IDUsuario         = "";
            string idRegistro        = "";
            string respuestaBizagi   = "";
            string archivoConvertido = "";

            try
            {
                if (System.Web.HttpContext.Current.Session["NroCasoTemp"] != null)
                {
                    idRegistro = System.Web.HttpContext.Current.Session["IdRegistro"].ToString();
                    IDUsuario  = System.Web.HttpContext.Current.Session["IDUsuario"].ToString();
                    Convert.ToInt32(IDUsuario);
                    ViewData["IDUsuario"] = IDUsuario;
                    int numCaso     = Convert.ToInt32(System.Web.HttpContext.Current.Session["NroCasoTemp"]);
                    var archivoSoli = collection["txtArchivoContratista"];

                    // Conversión de archivos
                    string archivosBase64    = "";
                    string archivosNombres   = "";
                    string archivosRespaldos = "";
                    foreach (string upload in Request.Files)
                    {
                        if (Request.Files[upload].FileName != "")
                        {
                            //string path = AppDomain.CurrentDomain.BaseDirectory + "./";
                            string path     = Path.GetTempPath();
                            string filename = Request.Files[upload].FileName;
                            Request.Files[upload].SaveAs(Path.Combine(path, filename));
                            archivoConvertido = ConversorBase64.convertirABase64(path + filename);
                            if (upload != null)
                            {
                                archivosBase64     = archivoConvertido;
                                archivosNombres    = archivoConvertido;
                                archivosRespaldos += @"<File fileName=""" + filename + @""">" + archivoConvertido + @"</File>";
                                //archivosRespaldos += @"<File fileName='" + filename + @"'>" + archivoConvertido + @"</File>";
                            }
                        }
                    }

                    //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                    //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                    DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                    //Escribir log CSV
                    UtilController.EscribirLog("Caso a actualizar", "ActualizarCasoArchivos", Convert.ToString(numCaso));
                    //Fin CSV

                    //XML PARA ACTUALIZAR VALORES DEL CASO
                    string queryActualizarCaso = @"<BizAgiWSParam>
                                                    <Entities idCase='" + numCaso + @"'>
                                                        <OrdendeTrabajoMedidor key='" + idRegistro + @"'>
                                                            <RespaldoAtencion>" + archivosRespaldos + @"</RespaldoAtencion>
                                                        </OrdendeTrabajoMedidor>
                                                    </Entities>
                                               </BizAgiWSParam>";

                    System.Web.HttpContext.Current.Session["NroCasoTemp"] = null;

                    //Escribir log CSV
                    queryActualizarCaso = queryActualizarCaso.Replace("\n", "");
                    queryActualizarCaso = queryActualizarCaso.Replace("\t", "");
                    queryActualizarCaso = queryActualizarCaso.Replace("\r", "");
                    UtilController.EscribirLog("Datos a actualizar", "ActualizarCasoArchivos", queryActualizarCaso);
                    //Fin CSV

                    respuestaBizagi = servicioQuery.saveEntityAsString(queryActualizarCaso);
                    respuestaBizagi = respuestaBizagi.Replace("\n", "");
                    respuestaBizagi = respuestaBizagi.Replace("\t", "");
                    respuestaBizagi = respuestaBizagi.Replace("\r", "");

                    //Escribir log CSV
                    UtilController.EscribirLog("Respuesta", "ActualizarCasoArchivos", respuestaBizagi);
                    //Fin CSV
                }
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                UtilController.EscribirLog("ERROR", "ActualizarCasoArchivos", ex.Message);
                //Fin CSV
            }

            return(respuestaBizagi);
        }
Esempio n. 4
0
        public string ActualizarCaso(FormCollection collection, IEnumerable <HttpPostedFileBase> files)
        {
            string   respuestaBizagi = string.Empty;
            DateTime fechaDeVisita   = DateTime.MinValue;
            string   IDUsuario       = "";
            string   idRegistro      = "";

            try
            {
                IDUsuario = System.Web.HttpContext.Current.Session["IDUsuario"].ToString();
                Convert.ToInt32(IDUsuario);
                ViewData["IDUsuario"] = IDUsuario;
                int numCaso          = Convert.ToInt32(collection["txtNumCaso"]);
                var fechaVisita      = collection["txtFechaDeVisita"];
                var archivoSoli      = collection["txtArchivoContratista"];
                var comentarioCierre = collection["txtComentarioCierre"];

                fechaDeVisita = Convert.ToDateTime(fechaVisita);
                fechaDeVisita.ToString("yyyy-MM-dd HH':'mm':'ss");

                // Conversión de archivos
                string archivosBase64    = "";
                string archivosNombres   = "";
                string archivosRespaldos = "";
                foreach (string upload in Request.Files)
                {
                    if (Request.Files[upload].FileName != "")
                    {
                        //string path = AppDomain.CurrentDomain.BaseDirectory + "./";
                        string path     = Path.GetTempPath();
                        string filename = Request.Files[upload].FileName;
                        Request.Files[upload].SaveAs(Path.Combine(path, filename));
                        string archivoConvertido = ConversorBase64.convertirABase64(path + filename);
                        if (upload != null)
                        {
                            archivosBase64     = archivoConvertido;
                            archivosNombres    = archivoConvertido;
                            archivosRespaldos += @"<File fileName='" + filename + @"'>" + archivoConvertido + @"</File>";
                        }
                    }
                }

                //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                //Escribir log CSV
                UtilController.EscribirLog("Caso a actualizar", "ActualizarCaso", Convert.ToString(numCaso));
                //Fin CSV

                //XML PARA ACTUALIZAR VALORES DEL CASO
                string queryActualizarCaso = @"<BizAgiWSParam>
                                                    <Entities>
                                                        <OrdendeTrabajoMedidor businessKey=""NroCaso='" + numCaso + @"'"">
                                                            <ComentarioCierreSolicitud>" + comentarioCierre + @"</ComentarioCierreSolicitud>
                                                            <FechadeVisita>" + fechaVisita + @"</FechadeVisita>
                                                        </OrdendeTrabajoMedidor>
                                                    </Entities>
                                               </BizAgiWSParam>";

                //Escribir log CSV
                UtilController.EscribirLog("Datos a actualizar", "ActualizarCaso", queryActualizarCaso);
                //Fin CSV

                respuestaBizagi = servicioQuery.saveEntityAsString(queryActualizarCaso);
                respuestaBizagi = respuestaBizagi.Replace("\n", "");
                respuestaBizagi = respuestaBizagi.Replace("\t", "");
                respuestaBizagi = respuestaBizagi.Replace("\r", "");

                //Obtener id del registro actualizado para ocuparlo como filtro en el metodo para actualizar archivo
                //Transformar respuesta STRING de Bizagi a XML para poder recorrer los nodos
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(respuestaBizagi);
                XmlNodeList rows = doc.GetElementsByTagName("OrdendeTrabajoMedidor");

                if (rows != null)
                {
                    foreach (XmlNode row in rows)
                    {
                        if (doc.GetElementsByTagName("OrdendeTrabajoMedidor")[0] != null)
                        {
                            idRegistro = doc.GetElementsByTagName("OrdendeTrabajoMedidor")[0].InnerText;
                        }
                    }
                }

                //Escribir log CSV
                UtilController.EscribirLog("Respuesta", "ActualizarCaso", respuestaBizagi);
                //Fin CSV
                System.Web.HttpContext.Current.Session["NroCasoTemp"] = numCaso;
                System.Web.HttpContext.Current.Session["IdRegistro"]  = idRegistro;
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                UtilController.EscribirLog("ERROR", "ActualizarCaso", ex.Message);
                //Fin CSV
            }

            return(respuestaBizagi);
        }
Esempio n. 5
0
        public string ObtenerCaso(int id)
        {
            string respuestaBizagi = string.Empty;

            try
            {
                int numCasoXML = id;
                //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                //Escribir log CSV
                UtilController.EscribirLog("Caso a trabajar", "ObtenerCaso", Convert.ToString(numCasoXML));
                //Fin CSV

                //Crear XML para obtener la información del caso seleccionado para trabajar

                string queryObtenerCaso = @"
                <BizAgiWSParam>
                    <CaseInfo>
                        <IdCase>" + id + @"</IdCase>
                    </CaseInfo>
                    <XPaths>
                        <XPath XPath=""OrdendeTrabajoMedidor.FechaSolicitud""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.SolicitanteOTMedidor.NombreSolicitante""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.EjecutivoOficina.CorreoElectronico""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.EjecutivoOficina.Nombre""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.NumeroTicketCRM""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.SinCuentaContrato""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.CuentaContrato""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Nombre""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.SolicitanteOTMedidor""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.NumeroSerieMedidor""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Ciudad""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Direccion""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.SeleccionarCliente""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Contacto.NombreContacto""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Contacto.CorreoElectronico""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Contacto.TelefonoFijo""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Contacto.Celular""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Region.Nombre""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Comunas.Comuna""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.ContratistasOTMedidor.Nombre""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.ContratistasOTMedidor.CorreoElectronico""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.MotivoOT.Motivo""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.SubMotivoOT.Submotivo""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.ComentarioSolicitud""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.Archivo""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.FechadeVisita""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.ComentarioCierreSolicitud""/>
                        <XPath XPath=""OrdendeTrabajoMedidor.RespaldoAtencion""/>
                    </XPaths>
                    </BizAgiWSParam>";

                //Escribir log CSV
                UtilController.EscribirLog("Campos solicitados", "ObtenerCaso", queryObtenerCaso);
                //Fin CSV

                respuestaBizagi = servicioQuery.getCaseDataUsingXPathsAsString(queryObtenerCaso);
                respuestaBizagi = respuestaBizagi.Replace("\n", "");
                respuestaBizagi = respuestaBizagi.Replace("\t", "");
                respuestaBizagi = respuestaBizagi.Replace("\r", "");

                //Escribir log CSV
                UtilController.EscribirLog("Respuesta", "ObtenerCaso", respuestaBizagi);
                //Fin CSV
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                UtilController.EscribirLog("ERROR", "ObtenerCaso", ex.Message);
                //Fin CSV
            }
            return(respuestaBizagi);
        }
Esempio n. 6
0
        public ActionResult Login(FormCollection collection, int?estado)
        {
            string         datosJSON      = string.Empty;
            string         respuestaCasos = "";
            string         idUsuario      = "";
            string         txtVacio       = collection["txtVacio"];
            FormCollection nulo           = new FormCollection();

            try
            {
                //Obtener valores ingresados en formulario de login
                string txtCorreo = collection["txtCorreo"];
                string txtPass   = collection["txtPass"];

                if (txtCorreo != null)
                {
                    txtCorreo.Trim();
                }
                if (txtPass != null)
                {
                    txtPass.Trim();
                }

                //Escribir log CSV
                UtilController.EscribirLog("Credenciales ingresadas", "Login", "Correo: " + txtCorreo + ", Clave: " + txtPass);
                //Fin CSV

                //Consultar a tabla si correo y password coinciden
                string queryLogin = @"<BizAgiWSParam>
	                                    <EntityData>
		                                    <EntityName>ContratistasOTMedidor</EntityName>
		                                    <Filters>
			                                    <![CDATA[CorreoElectronico = '"             + txtCorreo + @"' AND Pass = '******']]>
		                                    </Filters>
	                                    </EntityData>
                                    </BizAgiWSParam>";

                //Escribir log CSV
                UtilController.EscribirLog("Consultar credenciales", "Login", queryLogin);
                //Fin CSV

                //LipigasEntityManagerSoa.EntityManagerSOASoapClient servicioQuery = new LipigasEntityManagerSoa.EntityManagerSOASoapClient();
                //DemoLipiEntity.EntityManagerSOASoapClient servicioQuery = new DemoLipiEntity.EntityManagerSOASoapClient();
                DesEntity.EntityManagerSOASoapClient servicioQuery = new DesEntity.EntityManagerSOASoapClient();

                respuestaCasos = servicioQuery.getEntitiesAsString(queryLogin);
                respuestaCasos = respuestaCasos.Replace("\n", "");
                respuestaCasos = respuestaCasos.Replace("\t", "");
                respuestaCasos = respuestaCasos.Replace("\r", "");

                //Escribir log CSV
                UtilController.EscribirLog("Respuesta", "Login", respuestaCasos);
                //Fin CSV

                //Transformar respuesta STRING de Bizagi a XML para poder recorrer los nodos
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(respuestaCasos);

                string correo   = "";
                string password = "";
                //Obtener correo y pass de respuesta
                if (doc.SelectSingleNode("/BizAgiWSResponse/Entities/ContratistasOTMedidor/CorreoElectronico").InnerText != null)
                {
                    correo = doc.SelectSingleNode("/BizAgiWSResponse/Entities/ContratistasOTMedidor/CorreoElectronico").InnerText;
                }
                if (doc.SelectSingleNode("/BizAgiWSResponse/Entities/ContratistasOTMedidor/Pass").InnerText != null)
                {
                    password = doc.SelectSingleNode("/BizAgiWSResponse/Entities/ContratistasOTMedidor/Pass").InnerText;
                }

                //Escribir log CSV
                UtilController.EscribirLog("Credenciales rescatadas", "Login", "Correo: " + correo + ", Clave: " + password);
                //Fin CSV

                if (txtCorreo == correo && txtPass == password)
                {
                    // Recorrer los resultados
                    foreach (XmlNode item in doc.SelectNodes("/BizAgiWSResponse/Entities/ContratistasOTMedidor"))
                    {
                        // Obtener campos
                        idUsuario = item.Attributes["key"].Value;
                        Convert.ToInt32(idUsuario);
                    }
                    //Url.Action("ListarCasos", "CasosPendientes", new { collection = txtVacio, IDUsuario = idUsuario });
                }
            }
            catch (Exception ex)
            {
                //Escribir log CSV
                UtilController.EscribirLog("ERROR", "Login", ex.Message);
                //Fin CSV

                return(RedirectToAction("Login", "Home", new { estado = 0 }));
            }

            //return Index(Convert.ToInt32(idUsuario), 1);
            return(RedirectToAction("Index", "Home", new { IDUsuario = idUsuario, estado = 1 }));
        }