Beispiel #1
0
 /// <summary>
 /// Kullanıcı Log Ekleme
 /// </summary>
 /// <param name="logMessage"></param>
 /// <param name="userID"></param>
 /// <param name="isError"></param>
 public static void AddLog(string logMessage, int userID, bool isError)
 {
     using (OfflineMessageEntities db = new OfflineMessageEntities())
     {
         DataAccess.UserLog uLog = new UserLog();
         uLog.date       = DateTime.Now;
         uLog.logMessage = logMessage;
         uLog.isError    = isError;
         uLog.userID     = userID;
         db.UserLog.Add(uLog);
         db.SaveChanges();
     }
 }
Beispiel #2
0
        /// <summary>
        /// Kullanıcı blocklama işlemi yapar
        /// </summary>
        /// <param name="username"></param>
        /// <param name="otherUsername"></param>
        /// <param name="token"></param>
        public static BusinessResponse addBlock(string username, string otherUsername, string token)
        {
            DataAccess.User user      = User.getUser(username, token);
            DataAccess.User otherUser = User.getUser(otherUsername);
            if (user == null || user == null)
            {
                return new BusinessResponse()
                       {
                           isSuccess = false, message = "Kullanıcı bulunamadı!"
                       }
            }
            ;
            using (OfflineMessageEntities db = new OfflineMessageEntities())
            {
                bool isAny = (from s in db.Block where s.blockerID == user.ID && s.blockedID == otherUser.ID select s).Any();

                if (isAny)
                {
                    return new BusinessResponse()
                           {
                               isSuccess = false, message = "Bloklama işlemi daha önce yapılmış"
                           }
                }
                ;
                else
                {
                    try
                    {
                        DataAccess.Block block = new DataAccess.Block();
                        block.blockerID = user.ID;
                        block.blockedID = otherUser.ID;
                        block.date      = DateTime.Now;
                        db.Block.Add(block);
                        db.SaveChanges();
                        Log.AddLog("Bloklandı", user.ID, false);
                        return(new BusinessResponse()
                        {
                            isSuccess = true, message = "Ok"
                        });
                    }
                    catch (Exception ex)
                    {
                        Log.AddLog(ex.Message, "addBlock");
                        return(new BusinessResponse()
                        {
                            isSuccess = false, message = "Kritik Hata"
                        });
                    }
                }
            }
        }
Beispiel #3
0
        /// <summary>
        /// Kullanıcının gönderdiği ve aldığı tüm mesajları listeler
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static BusinessResponse <List <message> > getAllMessages(string userName, string token)
        {
            List <message> message;

            DataAccess.User user = User.getUser(userName, token);
            if (user == null)
            {
                return new BusinessResponse <List <message> >()
                       {
                           isSuccess = true, message = "Geçersiz kullanııcı", Data = null
                       }
            }
            ;

            using (OfflineMessageEntities db = new OfflineMessageEntities())
            {
                try
                {
                    CultureInfo tr = new CultureInfo("tr-TR");
                    message = (from s in db.Message.ToList()
                               where s.senderID == user.ID || s.recipientID == user.ID
                               orderby s.date descending
                               select new message
                    {
                        date = s.date.ToString("G", tr),
                        text = s.messageContent,
                        sender = (from p in db.User where p.ID == s.senderID select p.username).FirstOrDefault(),
                        recipient = (from p in db.User where p.ID == s.recipientID select p.username).FirstOrDefault(),
                        isRead = false,
                    }).ToList();
                    Log.AddLog("Tüm Mesajlar Listelendi", user.ID, false);
                    return(new BusinessResponse <List <message> >()
                    {
                        isSuccess = true, message = "Ok", Data = message
                    });
                }
                catch (Exception ex)
                {
                    Log.AddLog(ex.Message, "getAllMessages");
                    return(new BusinessResponse <List <message> >()
                    {
                        isSuccess = false, message = "Kritik Hata", Data = null
                    });
                }
            }
        }
    }
Beispiel #4
0
        /// <summary>
        /// Var olan bir bloklama kaldırılır
        /// </summary>
        /// <param name="username"></param>
        /// <param name="otherUsername"></param>
        /// <param name="token"></param>
        public static BusinessResponse removeBlock(string username, string otherUsername, string token)
        {
            DataAccess.User user      = User.getUser(username, token);
            DataAccess.User otherUser = User.getUser(otherUsername);
            if (user == null || user == null)
            {
                return new BusinessResponse()
                       {
                           isSuccess = false, message = "Kullanııcı Bulunamadı"
                       }
            }
            ;
            using (OfflineMessageEntities db = new OfflineMessageEntities())
            {
                try
                {
                    List <DataAccess.Block> blocks = (from s in db.Block where s.blockerID == user.ID && s.blockedID == otherUser.ID select s).ToList();

                    if (blocks.Count > 0)
                    {
                        db.Block.RemoveRange(blocks);
                        db.SaveChanges();
                        Log.AddLog("Block Kaldırıldı", user.ID, false);
                        return(new BusinessResponse()
                        {
                            isSuccess = true, message = "Ok"
                        });
                    }
                    else
                    {
                        Log.AddLog("Block Kaldırılamadı: Bloklama yapılmamış", user.ID, false);
                        return(new BusinessResponse()
                        {
                            isSuccess = false, message = "Kaldırılacak bir blok bulunamadı!"
                        });
                    }
                }
                catch (Exception ex)
                {
                    Log.AddLog(ex.Message, "removeBlock");
                    return(new BusinessResponse()
                    {
                        isSuccess = false, message = "Kritik Hata " + DateTime.Now.ToString()
                    });
                }
            }
        }
Beispiel #5
0
        /// <summary>
        /// İki kullanıcı arasında blok olup olmadığını kontrol eder
        /// </summary>
        /// <param name="username"></param>
        /// <param name="otherUsername"></param>
        /// <returns></returns>
        public static BusinessResponse <DataAccess.Block> checkBlock(string username, string otherUsername)
        {
            DataAccess.User user      = User.getUser(username);
            DataAccess.User otherUser = User.getUser(otherUsername);
            if (user == null || otherUser == null)
            {
                return new BusinessResponse <DataAccess.Block>()
                       {
                           isSuccess = false, message = "Kullanıcı Bulunamadı", Data = null
                       }
            }
            ;

            using (OfflineMessageEntities db = new OfflineMessageEntities())
            {
                List <DataAccess.Block> blocks;

                try
                {
                    blocks = (from s in db.Block where (s.blockerID == user.ID && s.blockedID == otherUser.ID) || (s.blockerID == otherUser.ID && s.blockedID == user.ID) select s).ToList();
                    if (blocks.Count > 0)
                    {
                        return new BusinessResponse <DataAccess.Block>()
                               {
                                   isSuccess = true, message = "Bloklandı!", Data = blocks[0]
                               }
                    }
                    ;                                                                                                                   //Bloklanmış
                    else
                    {
                        return new BusinessResponse <DataAccess.Block>()
                               {
                                   isSuccess = true, message = "Ok", Data = null
                               }
                    };                                                                                                     //Bloklama yok
                }
                catch (Exception ex)
                {
                    Log.AddLog(ex.Message, "checkBlock");
                    return(new BusinessResponse <DataAccess.Block>()
                    {
                        isSuccess = false, message = "Kritik Hata", Data = null
                    });
                }
            }
        }
    }
Beispiel #6
0
        /// <summary>
        /// Mesaj göndermek için kullanılan method
        /// </summary>
        /// <param name="senderUser"></param>
        /// <param name="recipientUser"></param>
        /// <param name="token"></param>
        /// <param name="message"></param>
        public static BusinessResponse sendMessage(string senderUser, string recipientUser, string token, string message)
        {
            DataAccess.User sender    = User.getUser(senderUser, token);
            DataAccess.User recipient = User.getUser(recipientUser);

            if (sender != null && recipient != null)
            {
                using (OfflineMessageEntities db = new OfflineMessageEntities())
                {
                    try
                    {
                        DataAccess.Message msg = new DataAccess.Message();
                        msg.senderID       = sender.ID;
                        msg.recipientID    = recipient.ID;
                        msg.messageContent = message;
                        msg.date           = DateTime.Now;
                        msg.isRead         = false;
                        db.Message.Add(msg);
                        db.SaveChanges();
                        Log.AddLog("Mesaj Kaydedildi", sender.ID, false);
                        return(new BusinessResponse()
                        {
                            isSuccess = true, message = "Ok"
                        });
                    }
                    catch (Exception ex)
                    {
                        Log.AddLog(ex.Message, "sendMessage");
                        return(new BusinessResponse()
                        {
                            isSuccess = false, message = "Kritik Hata"
                        });
                    }
                }
            }
            else
            {
                return new BusinessResponse()
                       {
                           isSuccess = true, message = "Geçersiz kullanıcı bilgisi!"
                       }
            };
        }
Beispiel #7
0
        /// <summary>
        /// Giriş yaptıktan sonra token döner
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static BusinessResponse <DataAccess.UserToken> Login(string username, string password)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password))
            {
                return new BusinessResponse <UserToken>()
                       {
                           isSuccess = true, message = "Kullanıcı adı veya şifre yanlış!", Data = null
                       }
            }
            ;
            using (OfflineMessageEntities db = new OfflineMessageEntities())
            {
                DataAccess.User user = User.getUser(username);

                if (user == null)
                {
                    return new BusinessResponse <UserToken>()
                           {
                               isSuccess = true, message = "Kullanıcı adı veya şifre yanlış!", Data = null
                           }
                }
                ;
                else if (user.password == CalculateSha1(password))
                {
                    try
                    {
                        List <UserToken> tokens = (from s in db.UserToken where s.userID == user.ID && s.expireDate > DateTime.Now orderby s.expireDate descending select s).ToList();
                        if (tokens.Count < 5)
                        {
                            UserToken token = new UserToken();
                            token.date       = DateTime.Now;
                            token.userID     = user.ID;
                            token.token      = createToken();
                            token.expireDate = DateTime.Now.AddDays(14);
                            db.UserToken.Add(token);
                            db.SaveChanges();
                            Log.AddLog("Giriş Yapıldı, yeni token alındı.", user.ID, false);
                            return(new BusinessResponse <UserToken>()
                            {
                                isSuccess = true, message = "OK", Data = token
                            });
                        }
                        else
                        {
                            Log.AddLog("Giriş Yapıldı", user.ID, false);
                            return(new BusinessResponse <UserToken>()
                            {
                                isSuccess = true, message = "OK", Data = tokens[0]
                            });
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.AddLog(ex.Message, "Login");
                        return(new BusinessResponse <UserToken>()
                        {
                            isSuccess = false, message = "Kritik Hata! " + DateTime.Now.ToString(), Data = null
                        });
                    }
                }
                else
                {
                    Log.AddLog("Başarısız Giriş", user.ID, false);

                    return(new BusinessResponse <UserToken>()
                    {
                        isSuccess = true, message = "Kullanıcı adı veya şifre yanlış!", Data = null
                    });
                }
            }
        }