예제 #1
0
 static public string actualizacionEstado(SPaquete paquete) //blpaquete linea 133, 176
 {
     try
     {
         var                  client              = new RestClient("https://api.sendinblue.com/v3/smtp/email");
         var                  request             = setRequest("post");
         BLTrayecto           _blT                = new BLTrayecto();
         BLPaquete            _blP                = new BLPaquete();
         var                  dp                  = _blP.detallesPaquete("", "Admin", (int)paquete.Id);
         DateTime             tiempoEstimado      = DateTime.Now;
         string               paquetePuntoControl = "";
         SPaquetePuntoControl ppcActual           = new SPaquetePuntoControl()
         {
             Id = 0
         };
         foreach (var item in dp.PaquetePuntoControl)
         {
             if (item.Id > ppcActual.Id)
             {
                 ppcActual = item;
             }
         }
         foreach (var item in dp.Trayecto.ListaPuntosControl)
         {
             if (item.Id > ppcActual.Id)
             {
                 tiempoEstimado = tiempoEstimado.AddSeconds(item.Tiempo);
             }
             if (item.Id == ppcActual.IdPuntoControl)
             {
                 paquetePuntoControl += "||" + item.Nombre + " / Tu paquete se encuentra aquí actualmente || - ";
             }
             else
             {
                 paquetePuntoControl += item.Nombre + " - ";
             }
         }
         request.AddParameter("application/json", "{\"sender\":{\"email\":\"[email protected]\"},\"to\":[{\"email\":\"" + dp.Destinatario.Email + "\"}],\"replyTo\":{\"email\":\"[email protected]\"},\"templateId\":3,\"params\":{\"remitenteNombre\":\"" + dp.Remitente.NombreCompleto + "\",\"remitenteEmail\":\"" + dp.Remitente.Email + "\",\"remitenteTelefono\":\"" + dp.Remitente.Telefono + "\",\"codigoEntrega\":\"" + paquete.CodigoConfirmacion + "\",\"puntoControlPaquete\":\"" + paquetePuntoControl + "\",\"fechaEntregaEstimada\":\"" + tiempoEstimado.ToString() + "\"}}", ParameterType.RequestBody);
         IRestResponse response = client.Execute(request);
         return(response.Content);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #2
0
 public dynamic detallesPaquete(string email, string role, int idPaquete)
 {
     try
     {
         SPaquete  paquete   = this.getPaquete(idPaquete);
         BLCliente blCliente = new BLCliente();
         if (role != "Admin")
         {
             SCliente cliente = blCliente.getClienteByEmail(email);
             if (cliente != null)
             {
                 if (cliente.Id != paquete.IdDestinatario && cliente.Id != paquete.IdRemitente)
                 {
                     throw new ECompartida("No tienes acceso a la informacion de este paquete");
                 }
             }
             else
             {
                 throw new ECompartida("El email enviado en la solicitud no pertenece a un cliente del sistema");
             }
         }
         SCliente       Remitente      = blCliente.getCliente((int)paquete.IdRemitente);
         SCliente       Destinatario   = blCliente.getCliente((int)paquete.IdDestinatario);
         BLTrayecto     bLTrayecto     = new BLTrayecto();
         STrayecto      Trayecto       = bLTrayecto.getTrayecto((int)paquete.IdTrayecto);
         BLPuntoControl bLPuntoControl = new BLPuntoControl();
         Trayecto.ListaPuntosControl = bLPuntoControl.puntosControlDeUnTrayecto((int)paquete.IdTrayecto);
         BLPaquetePuntoControl       bLPaquetePuntoControl = new BLPaquetePuntoControl();
         List <SPaquetePuntoControl> PaquetePuntosControl  = bLPaquetePuntoControl.puntosControlDeUnPaquete((int)paquete.Id);
         dynamic respuesta = new ExpandoObject();
         respuesta.IdTrayecto          = paquete.Id;
         respuesta.Qr                  = paquete.Codigo;
         respuesta.Trayecto            = Trayecto;
         respuesta.Remitente           = Remitente;
         respuesta.Destinatario        = Destinatario;
         respuesta.PaquetePuntoControl = PaquetePuntosControl;
         return(respuesta);
     }
     catch (Exception)
     {
         throw;
     }
 }