Exemple #1
0
 public ServiceLayer()
 {
     manager = new DMOptionsManager();
     DAL     = new DataAccessLayer.DataAccessLayer(manager.GetOptions <ConnectionOptions>() as ConnectionOptions);
     Log     = new DataAccessLayer.DataAccessLayer((manager.GetOptions <SendingOptions>() as SendingOptions).LogOptions);
     parser  = new ParserToXML();
 }
		public Permission (DataAccessLayer.Forms  forname, bool doSelect, bool doInsert, bool doUpdate, bool doDelete)
		{
			_FormName = (int)forname ;
			_DoSelect = doSelect;
			_DoInsert = doInsert;
			_DoUpdate = doUpdate;
			_DoDelete = doDelete;
		}
Exemple #3
0
        private void SendSmsWithConfirmationCode(DAL.User user)
        {
            //            Task.Factory.StartNew(() =>
            {
                Authenticator.TOTP oneTimePasswordValidator = new Authenticator.TOTP(user.Secret, 30, 6);

                int code = oneTimePasswordValidator.Now();

                Authenticator.SmsSender sender = new Authenticator.SmsSender();

                sender.SendSMS(user.PhoneNumber, code);
            }//);
        }
Exemple #4
0
 /// <summary>
 /// Method to post push notifications for windows phones
 /// </summary>
 /// <param name="urls"></param>
 /// <param name="messageId"></param>
 /// <param name="conversationId"></param>
 /// <param name="senderId"></param>
 /// <param name="postDate"></param>
 /// <param name="message"></param>
 /// <param name="sender"></param>
 private void SendPushNotifications(
     List<Tuple<DAL.User, string>> urls,
     Guid messageId,
     Guid conversationId,
     DAL.User sender,
     long postDate,
     string message,
     DAL.Group group,
     bool isEncrypted)
 {
     PushNotificationQueue.Instance.SchedulePush(
         new PushNotification(
             urls,
             messageId,
             conversationId,
             sender,
             postDate,
             isEncrypted ? "Message content is encrypted! Please open Yapper to view this message." : message,
             group));
 }
Exemple #5
0
        public void UploadException(DAL.ExceptionDetails exception)
        {
            DAL.User user = this.GetAuthenticatedUser();

            if (user == null)
            {
                throw new Exception("User not authenticated");
            }

            exception.Save(user);
        }
Exemple #6
0
        /// <summary>
        /// Update public key of the user
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="publicKey"></param>
        public void UpdateUserPublicKey(DAL.User user)
        {
            DAL.User serverSideUser = DAL.UserService.Instance.GetUserFromId(user.Id);

            DAL.UserService.UpdateUserPublicKey(serverSideUser, user.PublicKey);
        }
Exemple #7
0
        /// <summary>
        /// API to unsubscribe from notifications
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="subscriptionType"></param>
        public void UnSubscribeToNotification(string deviceid, DAL.SubscriptionType subscriptionType)
        {
            DAL.User user = this.GetAuthenticatedUser();

            if (user == null)
            {
                throw new Exception("User not authenticated");
            }

            DAL.Subscription.Unsubscribe(deviceid, subscriptionType, user.Id);
        }
 public ServiceLayer(IConverter converter, ConnectionOptions options)
 {
     dataAccessLayer = new DataAccessLayer.DataAccessLayer(converter, options);
 }
Exemple #9
0
 public ServiceLayer(DataAccessLayer.Options.ConnectionOptions options, IParser parser)
 {
     dataAccessLayer = new DataAccessLayer.DataAccessLayer(options, parser);
 }
 public RestrictionsInterface(DataAccessLayer.LeetRaidsDBDataContext existingConnection)
 {
     LeetRaidsDB = existingConnection;
 }
Exemple #11
0
 public ServiceLayer(string connectionString)
 {
     dal = new DataAccessLayer.DataAccessLayer(connectionString);
 }
Exemple #12
0
 public ServiceLayer(DataAccessLayer.Settings.ConnectionOptions options, IParser parser, ILogger logger)
 {
     DAL    = new DataAccessLayer.DataAccessLayer(options, parser);
     Parser = parser;
     Logger = logger;
 }
Exemple #13
0
 public Logger(JsonReader jsonReader)
 {
     DAL = new DataAccessLayer.DataAccessLayer(jsonReader);
 }
Exemple #14
0
 public Logger(XmlReader xmlReader)
 {
     DAL = new DataAccessLayer.DataAccessLayer(xmlReader);
 }
Exemple #15
0
 public ServiceLayer(XmlReader xml)
 {
     DAL = new DataAccessLayer.DataAccessLayer(xml);
 }
Exemple #16
0
        public DAL.Group CreateGroup(DAL.Group newGroup)
        {
            DAL.User sender = this.GetAuthenticatedUser();

            if (newGroup.Members == null)
            {
                throw new Exception("Invalid member list");
            }

            Dictionary<int, DAL.User> uniqueUsers = new Dictionary<int, DAL.User>();

            for (int i = 0; i < newGroup.Members.Count; i++)
            {
                if (string.Compare(DAL.UserService.Instance.GetUserFromId(newGroup.Members[i].Id).PhoneNumber, newGroup.Members[i].PhoneNumber, StringComparison.OrdinalIgnoreCase) != 0)
                {
                    throw new Exception("Invalid user specified");
                }

                uniqueUsers.Add(newGroup.Members[i].Id, newGroup.Members[i]);
            }

            if (!uniqueUsers.ContainsKey(sender.Id))
            {
                uniqueUsers.Add(sender.Id, sender);
            }

            DAL.Group createdGroup = DAL.Group.CreateGroup(sender, newGroup.Name, uniqueUsers.Values.ToList());

            MessageLayer.Message newGroupMessage = new MessageLayer.Message() { SenderId = sender.Id, RecipientId = createdGroup.Id, MessageFlags = MessageLayer.MessageFlags.GroupCreatedMessage, TextMessage = sender.Name + " has created the group" };

            MessageStore.MessageStore.Instance.SaveMessage(sender, newGroupMessage);

            if (newGroupMessage.RecipientId != sender.Id)
            {
                this.SendPushNotifications(
                    DAL.Subscription.GetSubscriptions(newGroupMessage.RecipientId, sender),
                    newGroupMessage.MessageId,
                    newGroupMessage.ConversationId,
                    sender,
                    newGroupMessage.PostDateTimeUtcTicks,
                    newGroupMessage.TextMessage,
                    createdGroup,
                    newGroupMessage.IsEncrypted);
            }
            return createdGroup;
        }
Exemple #17
0
 public ServiceLayer(JsonReader json)
 {
     DAL = new DataAccessLayer.DataAccessLayer(json);
 }
Exemple #18
0
        /// <summary>
        /// API to subscribe to push notifications
        /// </summary>
        /// <param name="deviceid"></param>
        /// <param name="subscriptionType"></param>
        /// <param name="subscriptionUrl"></param>
        public void SubscribeToNotification(string deviceid, DAL.SubscriptionType subscriptionType, string subscriptionUrl)
        {
            DAL.User user = this.GetAuthenticatedUser();

            if (user == null)
            {
                throw new Exception("User not authenticated");
            }

            DAL.Subscription subscription = DAL.Subscription.UpdateOrInsertSubscription(deviceid, subscriptionType, subscriptionUrl, user.Id);
        }
Exemple #19
0
        internal static void Unsubscribe(string deviceid, DataAccessLayer.SubscriptionType subscriptionType, int p)
        {
            using (SqlConnection connection = new SqlConnection(Globals.SqlConnectionString))
            {
                connection.Open();
                using (SqlTransaction sqlTransaction = connection.BeginTransaction())
                {
                    // Open the connection in a try/catch block.
                    // Create and execute the DataReader, writing the result
                    // set to the console window.
                    try
                    {
                        // Create the Command and Parameter objects.
                        using (SqlCommand command = new SqlCommand(Subscription.DeleteSubscriptionCommandString, connection, sqlTransaction))
                        {
                            command.Parameters.AddWithValue("@deviceid", deviceid);
                            command.Parameters.AddWithValue("@subscriptionType", subscriptionType);

                            int result = command.ExecuteNonQuery();

                            if (result > 0)
                            {
                                sqlTransaction.Commit();
                            }
                        }
                    }
                    catch (Exception)
                    {
                        sqlTransaction.Rollback();
                    }
                    finally
                    {
                        connection.Close();
                    }
                }
            }
        }
 public CharacterInterface(DataAccessLayer.LeetRaidsDBDataContext existingConnection)
 {
     LeetRaidsDB = existingConnection;
 }