Beispiel #1
0
        private ConnectionStringCache GetConnectionStringCache()
        {
            ConnectionStringCache cnn = new ConnectionStringCache();

            cnn.Namespace  = ConfigurationManager.AppSettings["cacheNameSpace"];
            cnn.Port       = ConfigurationManager.AppSettings["cachePort"];
            cnn.Server     = ConfigurationManager.AppSettings["cacheServer"];
            cnn.Aplicacion = ConfigurationManager.AppSettings["cacheShamanAplicacion"];
            cnn.Centro     = ConfigurationManager.AppSettings["cacheShamanCentro"];
            cnn.User       = ConfigurationManager.AppSettings["cacheShamanUser"];
            cnn.Password   = ConfigurationManager.AppSettings["Password"];
            cnn.UserID     = ConfigurationManager.AppSettings["UserID"];
            //cnn.tangoEmpresaId = ConfigurationManager.AppSettings["tangoEmpresaId"];
            return(cnn);
        }
        private static ConnectionStringCache GetConnectionString()
        {
            NameValueCollection appSettings = ConfigurationManager.AppSettings;

            ConnectionStringCache connectionString = new ConnectionStringCache
            {
                Server     = appSettings.Get("cacheServer"),
                Port       = appSettings.Get("cachePort"),
                Namespace  = appSettings.Get("cacheNameSpace"),
                Aplicacion = appSettings.Get("cacheShamanAplicacion"),
                User       = appSettings.Get("cacheShamanUser"),
                Centro     = appSettings.Get("cacheShamanCentro"),
                Password   = appSettings.Get("Password"),
                UserID     = appSettings.Get("UserID")
            };

            return(connectionString);
        }
        /// <summary>
        /// Envia notificaciones a Shaman AID.
        //  Ejecuta InterClientesC.AIDServicios.GetMensajesPendientes (InterClientesC.GetMensajesPendientes())
        //  Armar un Json con los datos, dependiendo del tipo de mensaje (1...5)
        //  (para los asignados (3) hay que calcular el tiempo con http://200.49.156.125:57779/Service.asmx?op=GetDistanciaTiempo)
        //  Eliminar el mensaje pendiente de Shaman con InterClientesC.AIDServicios.SetPreIncidenteMensaje())
        /// </summary>
        public void PushAidPreIncidente()
        {
            try
            {
                ConnectionStringCache       connectionString = new ConnectionStringCache(ConfigurationManager.AppSettings["ConexionCache"]);
                InterClientesC.AIDServicios objServicios     = new InterClientesC.AIDServicios(connectionString);

                List <MensajesPendientes> mensajes = objServicios.GetMensajesPendientes <MensajesPendientes>();
                //mensajes = new List<MensajesPendientes>();
                //mensajes.Add(new MensajesPendientes
                //{
                //    PreIncidenteId = "346046",
                //    MensajeId = "10",
                //    Mensaje = "No hay Novedad"
                //});

                SendMethods jsonSend = new SendMethods();
                if (mensajes != null && mensajes.Count > 0)
                {
                    addLog(true, "PushAidPreIncidente: ", string.Format("Se encontraron {0} mensajes nuevos para enviar.", mensajes.Count));
                    foreach (var mensaje in mensajes)
                    {
                        bool result = false;
                        ////TODO: Eliminar
                        //mensaje.PreIncidenteId = 16;
                        //mensaje.movLatitud = "-34.4381152";
                        //mensaje.movLongitud = "-58.8057913";
                        //mensaje.domLatitud = "-34.8008554";
                        //mensaje.domLongitud = "-58.447388";

                        switch (Convert.ToInt32(mensaje.MensajeId))
                        {
                        case (int)TipoMensaje.Aceptacion:
                            result = jsonSend.ConfirmOrder(new Order {
                                preIncidentId = mensaje.PreIncidenteId, message = mensaje.Mensaje, NroServicio = mensaje.NroIncidente
                            });
                            break;

                        case (int)TipoMensaje.Cancelado:
                            result = jsonSend.CancelOrder(new CancelOrder {
                                preIncidentId = mensaje.PreIncidenteId, message = mensaje.Mensaje
                            });
                            break;

                        case (int)TipoMensaje.MovilAsignado:
                            result = jsonSend.OrderMobileAssigned(
                                new OrderMobileAssigned
                            {
                                preIncidentId = mensaje.PreIncidenteId,
                                mobileNumber  = mensaje.MovilId,
                                doctor        = mensaje.doctor,
                                nurse         = mensaje.nurse,
                                driver        = mensaje.driver,
                                estimatedTime = GetEstimatedTime(mensaje),
                                message       = mensaje.Mensaje
                            });
                            break;

                        case (int)TipoMensaje.Finalizado:
                            result = jsonSend.CompleteOrder(
                                new CompleteOrder
                            {
                                preIncidentId = mensaje.PreIncidenteId,
                                diagnostic    = mensaje.diagnostic,
                                treatment     = mensaje.treatment
                            });
                            break;

                        case (int)TipoMensaje.ArriveOrder:
                            result = jsonSend.ArriveOrder(
                                new ArriveOrder
                            {
                                preIncidentId = mensaje.PreIncidenteId,
                                message       = "El movil ya se encuentra en su domicilio"
                            });
                            break;

                        default:
                            break;
                        }
                        if (result)
                        {
                            objServicios.SetPreIncidenteMensaje(mensaje.PreIncidenteId, mensaje.MensajeId);
                        }
                    }
                }
                else
                {
                    addLog(true, "PushAidPreIncidente: ", "No se encontraron mensajes nuevos para enviar.");
                }
            }
            catch (Exception ex)
            {
                addLog(false, "PushAidPreIncidente", "Fallo PushAidPreIncidente. " + ex.Message);
            }
        }