/// <summary> /// Üyellik gerçekleştirmek için kullanılır /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="confirmPassword"></param> public static BusinessResponse Register(string username, string password, string confirmPassword) { if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password) || string.IsNullOrEmpty(confirmPassword)) { return new BusinessResponse() { isSuccess = false, message = "Geçersiz istek!" } } ; else if (password != confirmPassword) { return new BusinessResponse() { isSuccess = false, message = "Parolalar eşleşmiyor!" } } ; using (OfflineMessageEntities db = new OfflineMessageEntities()) { DataAccess.User user = (from s in db.User where s.username == username select s).FirstOrDefault(); if (user != null) { return new BusinessResponse() { isSuccess = false, message = "Aynı isimli kullanıcı mevcut!" } } ; else { try { user = new DataAccess.User(); user.username = username; user.password = CalculateSha1(password); user.date = DateTime.Now; user.status = 1; db.User.Add(user); db.SaveChanges(); } catch (Exception ex) { Log.AddLog(ex.Message, "Register"); return(new BusinessResponse() { isSuccess = false, message = "İstenmeyen bir hata oluştu! Sistem loglarını kontrol ediniz. " + DateTime.Now.ToString() }); } Log.AddLog("Üyelik Gerçekleşti", user.ID, false); return(new BusinessResponse() { isSuccess = true, message = "Ok" }); } } }
/// <summary> /// System Log Ekleme /// </summary> /// <param name="exceptionMessage"></param> /// <param name="methodName"></param> public static void AddLog(string exceptionMessage, string methodName) { using (OfflineMessageEntities db = new OfflineMessageEntities()) { DataAccess.SystemLog sLog = new SystemLog(); sLog.date = DateTime.Now; sLog.logMessage = "Method: " + methodName + " Hata Mesajı: " + exceptionMessage; db.SystemLog.Add(sLog); db.SaveChanges(); } }
/// <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(); } }
/// <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" }); } } } }
/// <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() }); } } }
/// <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!" } }; }
/// <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 }); } } }