public String GetDomainValue(int nParentId, int nDomainColumnaId, int nLineNumber) { var oContainer = ODataContextWrapper.GetContainer(); List <Domain> oDominios = oContainer.Domains.Expand(a => a.DomainValues).Where(b => b.ParentId == nParentId).ToList(); return(oDominios.FirstOrDefault(c => c.Id == nDomainColumnaId).DomainValues.FirstOrDefault(c => c.LineNumber == nLineNumber).Value); }
public void LeerArchivo(string archivo, Ticket ticket) { String rutax = _valores[4] + archivo; rutax = rutax.Replace("/", "\\"); try { //Lleyendo el JSON using (StreamReader lector = new StreamReader(@rutax)) { while (lector.Peek() > -1) { string linea = lector.ReadLine(); if (!String.IsNullOrEmpty(linea)) { _contenido += linea; } } } //Deserializando JSON en una CLase JsonCorreo = JsonConvert.DeserializeObject <JsonCorreo>(_contenido); string valor = ""; var containeValores = ODataContextWrapper.GetContainer(); //Almacenando Palabras que esten entre {XXXXXX} y asignando la palabras para reemplazar foreach (Match match in Regex.Matches(JsonCorreo.Body, @"\{([^{}\]]*)\}")) { valor = match.Value.Replace("{", ""); valor = valor.Replace("}", ""); //Opteniendo el Id del Field buscando por name var fieldId = containeValores.Fields.Where(f => f.Name == valor).FirstOrDefault().Id; //Opteniendo el Valor del ticker filtrandolo var name = ticket.TicketValues.Where(t => t.FieldId == fieldId).FirstOrDefault().Value; valor = "{" + valor + "}"; palabrasClaves.Add(new PalabrasClave() { clave = valor, palabra = name }); } //Reemplazar las palabras Claves para enviar Correos foreach (PalabrasClave p in palabrasClaves) { JsonCorreo.Body = ReemplazarPalabras(JsonCorreo.Body, p.clave, p.palabra); } } catch (Exception ex) { Console.WriteLine("Error: " + ex.Message); } }
private void ProcesarTicket(Ticket ticket) { bool _buscarPolicyCenter, _existeValorProducto, _buscarContactManager; int _idEstadoInicio; try { var container = ODataContextWrapper.GetContainer(); //poner parametro List <Domain> dominios = container.Domains.Expand(dv => dv.DomainValues).Where(df => df.ParentId == _dominioProceso).ToList(); //poner parametro int numero = dominios.FirstOrDefault(o => o.Name == "id").DomainValues.FirstOrDefault(o => o.Value == ticket.TicketValues.FirstOrDefault(f => f.FieldId == eesFields.Default.idproceso).Value).LineNumber; _existeValorProducto = ValidacionProducto(ticket); //poner parametro para las buquesdas de dominio _buscarPolicyCenter = ValidacionPoliCenter(dominios, numero); _buscarContactManager = ValidacionContactManager(dominios, numero); _idEstadoInicio = Convert.ToInt32(dominios.FirstOrDefault(o => o.Name == _procesoInicio).DomainValues.FirstOrDefault(o => o.LineNumber == numero).Value); _idEstadoError = Convert.ToInt32(dominios.FirstOrDefault(o => o.Name == _estadoError).DomainValues.FirstOrDefault(o => o.LineNumber == numero).Value); } catch (Exception ex) { throw new Exception("Error al Verificar el tipo de Proceso", ex); } if (_buscarPolicyCenter && ticket.TicketValues.FirstOrDefault(tv => tv.FieldId == eesFields.Default.poliza_nro).Value != "") { if (!_existeValorProducto) { BuscarPolicyCenter(ticket); } } if (_buscarContactManager) { List <StateAction> accionesEstado = _robot.GetNextStateAction(_robot.Tickets.FirstOrDefault()); _estadoContact = accionesEstado.Where(se => se.ActionDescription == "Avanzar").FirstOrDefault(); _finProcesoContact = true; } if (_reprocesoContador > 0) { _reprocesoContador = 0; _idEstadoRetorno = 0; _Funciones.GuardarValoresReprocesamiento(ticket, _reprocesoContador, _idEstadoRetorno); } if (_finProcesoContact) { _robot.SaveTicketNextState(ticket, _estadoContact.Id); } else { _robot.SaveTicketNextState(ticket, _robot.GetNextStateAction(ticket).First(o => o.DestinationStateId == _idEstadoInicio).Id); } }
public void ProcesarTicket(Ticket ticket) { ticket = _robot.Tickets.FirstOrDefault(); //CAMPO QUE VIENE DE LOS ROBOT QUE INDICA QUE TIPO DE PLANTILLA USARA _valoresTicket[2] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.id_archivo_tipo_adj).Value; //idProceso _valoresTicket[7] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.idproceso).Value; //Asegurado Nombre _valoresTicket[0] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.asegurado_nombre).Value; //Poliza _valoresTicket[1] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.poliza_nro).Value; //Correos _valoresTicket[3] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.email_para).Value; //Correos Copias _valoresTicket[4] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.email_cc).Value; //Dni _valoresTicket[6] = ticket.TicketValues.FirstOrDefault(a => a.FieldId == eesFields.Default.nro_dni).Value; //Optenr el NOmbre de la Plantilla var dominio = ODataContextWrapper.GetContainer(); NombrePlantilla = dominio.DomainValues.Where(c => c.Id == Convert.ToInt32(_valoresTicket[2])).FirstOrDefault().Value; //Optener todos lo Ticket del Workflow "Adjuntar Documentos" List <Ticket> ticketDocumento = _robot.GetDataQueryTicket().Where(t => t.StateId == Convert.ToInt32(_valores[3])).ToList(); //Almacenar los TicketValue de Tickets foreach (var item in ticketDocumento) { ticketValue.Add(_robot.GetDataQueryTicketValue().Where(t => t.TicketId == item.Id).OrderBy(t => t.Id).First()); ticketValue.Add(_robot.GetDataQueryTicketValue().Where(t => t.TicketId == item.Id).OrderByDescending(t => t.Id).First()); } //Optener el Ultimo Tickets Adjuntar Documentos dependiendo el Tipo de Plantilla var idticket = ticketValue.Where(t => t.Value == _valoresTicket[2]).OrderByDescending(t => t.Id).Select(t => new { t.TicketId }).FirstOrDefault(); //Optener la Plantilla del ticketValue var valorTicket = ticketValue.Where(t => t.TicketId == Convert.ToInt32(idticket.TicketId) && t.FieldId == Convert.ToInt32(_valores[2])).OrderByDescending(t => t.Id).Select(t => new { t.Value }).FirstOrDefault(); //Opteneniendo la Ruta de la Plantilla _rutaPlantilla = Convert.ToString(valorTicket.Value); LeerArchivo(_rutaPlantilla, ticket); //Metodo Email EnviarEmail(); EdentificarProceso(ticket, ""); }
public string ObtenerValorDominio(Ticket ticket, int idDominio) { var container = ODataContextWrapper.GetContainer(); try { if (ticket != null) { return(container.DomainValues.Where(p => p.Id == idDominio).FirstOrDefault().Value.Trim().ToUpperInvariant()); } } catch { return(null); } return(null); }
private void ProcesarTicket(Ticket ticket) { bool _buscarPolicyCenter, _existeValorProducto, _buscarContactManager; int _idEstadoInicio; try { var container = ODataContextWrapper.GetContainer(); //poner parametro List <Domain> dominios = container.Domains.Expand(dv => dv.DomainValues).Where(df => df.ParentId == 1055).ToList(); //poner parametro int numero = dominios.FirstOrDefault(o => o.Name == "nombre").DomainValues.FirstOrDefault(o => o.Value == "Anulación de Póliza").LineNumber; // FunctionalDomains<List<DomainValue>> objSearch4 = _Funciones.GetDomainValuesByParameters(_robot.SearchDomain, "Procesos Version Final", new string[,] { { "nombre", "Anulación de Póliza" }, { "activo", "1" } }); //cambiar id 18 referencial por el id del campo producto real _existeValorProducto = ValidacionProducto(ticket); //poner parametro para las buquesdas de dominio _buscarPolicyCenter = ValidacionPoliCenter(dominios, numero); _buscarContactManager = ValidacionContactManager(dominios, numero); _idEstadoInicio = Convert.ToInt32(dominios.FirstOrDefault(o => o.Name == "id_estado_inicio").DomainValues.FirstOrDefault(o => o.LineNumber == numero).Value); } catch (Exception ex) { throw new Exception("Error al Verificar el tipo de Proceso", ex); } if (_buscarPolicyCenter) { if (!_existeValorProducto) { BuscarPolicyCenter(ticket); } } if (_buscarContactManager) { List <StateAction> accionesEstado = _robot.GetNextStateAction(_robot.Tickets.FirstOrDefault()); StateAction siguienteEstado = accionesEstado.Where(se => se.ActionDescription == "Ir ContactManager").FirstOrDefault(); _robot.SaveTicketNextState(ticket, siguienteEstado.Id); } else { _robot.SaveTicketNextState(ticket, _idEstadoInicio); } }
private void EnviarPadre(Ticket ticketPadre, bool error) { try { var container = ODataContextWrapper.GetContainer(); var ticket = container.Tickets.Where(o => o.Id == ticketPadre.Id).FirstOrDefault(); if (error) { ticket.StateId = Convert.ToInt32(ticketPadre.TicketValues.FirstOrDefault(o => o.FieldId == _estadoError).Value); } else { ticket.StateId = Convert.ToInt32(ticketPadre.TicketValues.FirstOrDefault(o => o.FieldId == _estadoPadre).Value); } container.UpdateObject(ticket); container.SaveChanges(); } catch { throw new Exception("No fue posible realizar lo cambio de estado de el ticket Padre"); } }
public static void ExecFunc(string mensagem, Action method) { try { method(); } catch (Exception ex) { if (BaseRobotUtil == null) { throw new Exception("Error inicialización ExecFunctionLog/BaseRobot."); } StackTrace stackTrace = new StackTrace(); var container = ODataContextWrapper.GetContainer(); LogData logData = new LogData(); var lgm = container.LogMessages.Where(x => x.Id == 47); logData.LogLevel = LogLevel.Process; logData.ErrorType = ErrorType.Exception; logData.Method = stackTrace.GetFrame(1).GetMethod().Name; logData.Parameters = new System.Collections.ObjectModel.ObservableCollection <KeyValueModel>(); string strEstado = Utils.GetKeyFromConfig("nomEstado") != null?Utils.GetKeyFromConfig("nomEstado") : string.Empty; string strGuid = Utils.GetKeyFromConfig("robotGuid") != null?Utils.GetKeyFromConfig("robotGuid") : string.Empty; logData.Parameters.Add(new KeyValueModel() { Key = "strMsg", Value = mensagem }); logData.Parameters.Add(new KeyValueModel() { Key = "nomEstado", Value = strEstado }); logData.CreationDate = DateTime.Now; if (BaseRobotUtil.StateFields != null && BaseRobotUtil.StateFields.Count > 0) { logData.StateId = BaseRobotUtil.StateFields.First().StateId; if (BaseRobotUtil.StateFields.First() != null) { logData.State = BaseRobotUtil.StateFields.First().State; } } logData.Exception = ex.Message; logData.StackTrace = ex.ToString(); logData.LogMessageId = 47; logData.RobotVirtualMachineId = new Guid(strGuid); if (lgm != null && lgm.Count() > 0) { logData.LogMessage = lgm.First(); logData.Description = string.Format(logData.LogMessage.MessageLog.Replace("strMsg", "0").Replace("nomEstado", "1"), mensagem, strEstado); } else { logData.Description = string.Format("{0} estado de ejecución: {1}", mensagem, strEstado); } container.AddToLogDatas(logData); container.SaveChanges(); throw new Exception(logData.Description); } }
public List <DomainValue> ListadoValoresDominios() { var container = ODataContextWrapper.GetContainer(); return(container.DomainValues.Where(a => a.DomainId == Convert.ToInt32(_domainpalabrasclaves)).ToList()); }