/// <summary> /// Delete the old the authenication on same devices /// </summary> /// <param name="devicesId"></param> /// <param name="deviceUID"></param> /// <param name="devicesType"></param> /// <returns></returns> public static bool DeleteOtherUserTokensOnDevices(string devicesId, string devicesType) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { bool success = false; StringBuilder traceLog = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: DeleteOtherUserTokensOnDevices(), delete old existing token records: " + devicesId); if (!string.IsNullOrWhiteSpace(devicesType) && devicesType == DiviceTypeType.Android.ToString()) { string andriodDevicesType = DiviceTypeType.Android.ToString(); List <tblUserToken> userTokenlist = _dbContext.UserToken.Where(ut => ut.TokenDevicesID == devicesId && ut.DeviceType == andriodDevicesType).ToList(); /*delete accepted change by the user*/ if (userTokenlist != null) { _dbContext.UserToken.RemoveRange(userTokenlist); _dbContext.SaveChanges(); success = true; } } else if (!string.IsNullOrWhiteSpace(devicesType) && devicesType == DiviceTypeType.IOS.ToString()) { if (!string.IsNullOrWhiteSpace(devicesId)) { List <tblUserToken> userTokenlist = _dbContext.UserToken.Where(ut => ut.TokenDevicesID == devicesId).ToList(); /*delete accepted change by the user*/ if (userTokenlist != null) { _dbContext.UserToken.RemoveRange(userTokenlist); _dbContext.SaveChanges(); success = true; } } } } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); return(false); } finally { traceLog.AppendLine(" DeleteOtherUserTokensOnDevices end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); traceLog = null; } return(success); } }
/// <summary> /// Function delete featured activity /// </summary> /// <returns>int</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/21/2015 /// </devdoc> public static void DeleteFeaturedActivity(int id) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { traceLog = new StringBuilder(); try { traceLog.AppendLine("Start: DeleteFeaturedActivity"); tblFeaturedActivityQueue featuredActivityQueue = dataContext.FeaturedActivityQueue.Where(ce => ce.Id == id).FirstOrDefault(); if (featuredActivityQueue != null) { dataContext.FeaturedActivityQueue.Remove(featuredActivityQueue); dataContext.SaveChanges(); } } catch { throw; } finally { traceLog.AppendLine("DeleteActivity end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Update Device Token And Type based on AuthToken /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool UpdateDeviceTokenAndType(DeviceTokenVM model) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { StringBuilder traceLog = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: UpdateDeviceTokenAndType()"); if (!string.IsNullOrEmpty(model.AuthToken)) { var userToken = _dbContext.UserToken.Where(dn => dn.Token.Equals(model.AuthToken.Trim())).FirstOrDefault(); if (userToken != null) { userToken.TokenDevicesID = model.DeviceToken; userToken.DeviceType = model.DeviceType.ToString(); _dbContext.SaveChanges(); return(true); } } return(false); } finally { traceLog.AppendLine("End: UpdateDeviceTokenAndType --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to delete current user token /// </summary> /// <param></param> /// <returns>bool</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 05/19/2015 /// </devdoc> public static bool DeleteCurrentUserToken() { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { tblUserToken userToken = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: DeleteCurrentUserToken"); string token = Thread.CurrentPrincipal.Identity.Name; bool flag = false; userToken = _dbContext.UserToken.Remove(_dbContext.UserToken.FirstOrDefault(u => u.Token.Equals(token))); _dbContext.SaveChanges(); if (userToken != null) { flag = true; } return(flag); } finally { traceLog.AppendLine("End: DeleteCurrentUserToken --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); userToken = null; } } }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool UTCPostMessage(UTCMessageVM model) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { StringBuilder traceLog = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: UTCPostMessage"); tblUTCPostMessage objUTCPostMessage = new tblUTCPostMessage { PostMessage = model.Message, PostDateTime = model.PostedDate }; _dbContext.UTCPostMessage.Add(objUTCPostMessage); _dbContext.SaveChanges(); return(true); } finally { traceLog.AppendLine("End: UTCPostMessage --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
public static void UpdateLastLogin() { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { traceLog.AppendLine("Start: UpdateLastLogin"); if (System.Web.HttpContext.Current.Session != null) { int credentialId = Convert.ToInt32(System.Web.HttpContext.Current.Session["CredentialId"]); tblCredentials credential = _dbContext.Credentials.Where(m => m.Id == credentialId).FirstOrDefault(); credential.LastLogin = DateTime.Now; _dbContext.SaveChanges(); } } catch { throw; } finally { traceLog.AppendLine("UpdateLastLogin end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to delete sponsor challenge /// </summary> /// <returns>void</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/21/2015 /// </devdoc> public static void DeleteSponsorChallenge(int Id) { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: DeleteSponsorChallenge---- " + DateTime.Now.ToLongDateString()); //Delete sponser CHallenge List <tblSponsorChallengeQueue> objTrainerChallenge = _dbContext.TrainerChallenge.Where(ce => ce.QueueId == Id).ToList(); if (objTrainerChallenge != null) { _dbContext.TrainerChallenge.RemoveRange(objTrainerChallenge); } _dbContext.SaveChanges(); } catch { throw; } finally { traceLog.AppendLine("DeleteSponsorChallenge end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Remove notification incash fail to send notification /// </summary> /// <param name="userNotificationID"></param> /// <returns></returns> public static bool RemoveUserNotification(long userNotificationID) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { StringBuilder traceLog = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: GetSaveDevicesNotification"); var objdeviceNft = _dbContext.UserNotifications.Where(nt => nt.NotificationID == userNotificationID).FirstOrDefault(); _dbContext.UserNotifications.Remove(objdeviceNft); _dbContext.SaveChanges(); return(true); } catch { return(false); } finally { traceLog.AppendLine("End: GetSaveDevicesNotification --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to delete COD /// </summary> /// <returns>void</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/21/2015 /// </devdoc> public static void DeleteCOD(int id) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { //Delete COD traceLog.AppendLine("Start:DeleteCOD() with challenge Id-" + id); List <tblChallengeofTheDayQueue> objChallengeofTheDayQueue = _dbContext.ChallengeofTheDayQueue.Where(ce => ce.QueueId == id).ToList(); if (objChallengeofTheDayQueue != null) { _dbContext.ChallengeofTheDayQueue.RemoveRange(objChallengeofTheDayQueue); _dbContext.SaveChanges(); } } catch { throw; } finally { traceLog.AppendLine("DeleteCOD end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Change Exercise Status /// </summary> /// <param name="exerciseId"></param> /// <param name="operationId"></param> /// <returns></returns> public static ExerciseStatusVM ChangeExerciseStatus(int exerciseId, int operationId) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { try { ExerciseStatusVM objExerciseStatusVM = new ExerciseStatusVM(); traceLog.AppendLine("Start: ChangeExerciseStatus---- " + DateTime.Now.ToLongDateString()); if (exerciseId > 0) { tblExercise exercise = dataContext.Exercise.Where(ex => ex.ExerciseId == exerciseId).FirstOrDefault(); switch (operationId) { case 1: { exercise.ExerciseStatus = 1; objExerciseStatusVM.OperationId = operationId; objExerciseStatusVM.OperationResultId = 1; } break; case 2: { exercise.ExerciseStatus = 2; objExerciseStatusVM.OperationId = operationId; objExerciseStatusVM.OperationResultId = 2; } break; case 3: { if (dataContext.CEAssociation.Any(ex => ex.ExerciseId == exerciseId)) { exercise.ExerciseStatus = 2; objExerciseStatusVM.OperationResultId = -1; } else { exercise.ExerciseStatus = 3; objExerciseStatusVM.OperationResultId = 1; } objExerciseStatusVM.OperationId = operationId; } break; } dataContext.SaveChanges(); } return(objExerciseStatusVM); } finally { traceLog.AppendLine("End ChangeExerciseStatus : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to authenticate user Token /// </summary> /// <param name="token">token</param> /// <returns>True/False</returns> public static bool ValidateToken(string token, string clientIPAddress) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { bool success = false; StringBuilder traceLog = null; tblUserToken userToken = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: Login, ValidateUserToken Method with Param token: " + token); userToken = _dbContext.UserToken.FirstOrDefault(t => t.Token == token && t.ClientIPAddress == clientIPAddress); if (userToken != null) { if (userToken.IsRememberMe) { success = true; } else { if (userToken.ExpiredOn > DateTime.Now) { if (!userToken.IsExpired) { success = true; userToken.ExpiredOn = DateTime.Now.AddMinutes(Convert.ToByte(ConfigurationManager.AppSettings["ExpireDuration"])); } } else { userToken.IsExpired = true; } } _dbContext.SaveChanges(); } return(success); } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); return(false); } finally { traceLog.AppendLine("Index Start end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); traceLog = null; userToken = null; } } }
/// <summary> /// Function to delete activity /// </summary> /// <returns>void</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/04/2015 /// </devdoc> public static void DeleteActivity(int id) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { using (System.Data.Entity.DbContextTransaction dbTran = dataContext.Database.BeginTransaction()) { traceLog = new StringBuilder(); try { traceLog.AppendLine("Start: DeleteActivity --- " + DateTime.Now.ToLongDateString()); tblActivity activity = dataContext.Activity.Find(id); tblFeaturedActivityQueue featuredActivityQueue = dataContext.FeaturedActivityQueue.Where(ce => ce.ActivityId == id).FirstOrDefault(); /*Delete Related feateured activity for the activity*/ if (featuredActivityQueue != null) { dataContext.FeaturedActivityQueue.Remove(featuredActivityQueue); dataContext.SaveChanges(); } dataContext.Activity.Remove(activity); dataContext.SaveChanges(); dbTran.Commit(); } catch { dbTran.Rollback(); throw; } finally { traceLog.AppendLine("DeleteActivity end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } } }
/// <summary> /// Upadte or Save DevicesNotification count for user /// </summary> /// <param name="model"></param> /// <returns></returns> public static long SaveDevicesNotification(UserNotificationsVM model) { using (LinksMediaContext _dbContext = new LinksMediaContext()) { StringBuilder traceLog = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: GetSaveDevicesNotification"); int userCredetials = 0; var objCredentials = _dbContext.Credentials.Where(user => user.UserId == model.UserID && user.UserType.Equals(model.UserType, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(); if (objCredentials != null) { userCredetials = objCredentials.Id; } if (userCredetials != model.ReceiverCredID && !_dbContext.UserNotifications.Any(f => f.SenderCredlID == userCredetials && f.SenderCredlID == model.ReceiverCredID && f.ReceiverCredID == model.ReceiverCredID && f.NotificationType == model.NotificationType && f.TargetID == model.TargetPostID && f.TokenDevicesID == model.TokenDevicesID)) { tblUserNotifications objdeviceNft = new tblUserNotifications { SenderCredlID = userCredetials, ReceiverCredID = model.ReceiverCredID, NotificationType = model.NotificationType, SenderUserName = model.SenderUserName, Status = true, IsRead = false, TargetID = model.TargetPostID, CreatedDate = model.CreatedNotificationUtcDateTime, TokenDevicesID = model.TokenDevicesID, ChallengeToFriendId = model.ChallengeToFriendId, IsFriendChallenge = model.IsFriendChallenge, IsOnBoarding = model.IsOnBoarding }; _dbContext.UserNotifications.Add(objdeviceNft); _dbContext.SaveChanges(); return(objdeviceNft.NotificationID); } return(0); } finally { traceLog.AppendLine("End: GetSaveDevicesNotification --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to change password /// </summary> /// <param></param> /// <returns>bool</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 07/24/2015 /// </devdoc> public static bool ChangePassword(EditPasswordVM model) { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { EncryptDecrypt objEncrypt = null; Credentials cred = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: ChangePassword"); bool flag = false; cred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); if (cred != null) { if (IsOldPasswordCorrect(model.OldPassword, cred.Id)) { objEncrypt = new EncryptDecrypt(); tblCredentials objCredential = _dbContext.Credentials.Where(crd => crd.Id == cred.Id).FirstOrDefault(); model.NewPassword = objEncrypt.EncryptString(model.NewPassword); if (objCredential != null) { objCredential.Password = model.NewPassword; } _dbContext.SaveChanges(); flag = true; } } return(flag); } finally { if (objEncrypt != null) { objEncrypt.Dispose(); objEncrypt = null; } traceLog.AppendLine("End: ChangePassword --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Save Failed to Sprout Server /// </summary> /// <param name="FailedExecise"></param> public static void SaveFailedSproutServer(List <UpdateExerciseSproutLink> FailedExecise) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog.AppendLine("Start: SaveFailedSproutServer---- " + DateTime.Now.ToLongDateString()); if (FailedExecise != null && FailedExecise.Count > 0) { string UploadGuid = Guid.NewGuid().ToString(); DateTime createdDatetime = DateTime.Now; List <tblExerciseUploadHistory> failedHistoryList = new List <tblExerciseUploadHistory>(); FailedExecise.ForEach(failexe => { tblExerciseUploadHistory tblExerciseUploadHistory = new tblExerciseUploadHistory { Index = failexe.Index, ExerciseName = failexe.ExerciseName, FailedVideoName = failexe.FailedVideoName, TeamId = failexe.TeamID, TrainerId = failexe.TrainerID, UploadHistoryGuidId = UploadGuid, CreatedDate = createdDatetime }; failedHistoryList.Add(tblExerciseUploadHistory); }); dataContext.ExerciseUploadHistory.AddRange(failedHistoryList); dataContext.SaveChanges(); } } catch { return; } finally { traceLog.AppendLine("End SaveFailedSproutServer : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Select UserPersonalTrainer /// </summary> /// <param name="usertrainerdetails"></param> /// <returns></returns> public static bool SelectUserPersonalTrainer(UserPersonalTrainerVM usertrainerdetails) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog.AppendLine("Start: SelectUserPersonalTrainer---- " + DateTime.Now.ToLongDateString()); if (usertrainerdetails.TrainerCredID > 0) { Credentials cred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); if (cred.UserType.Equals(Message.UserTypeUser, StringComparison.OrdinalIgnoreCase)) { tblUser user = dataContext.User.FirstOrDefault(usr => usr.UserId == cred.UserId); if (user != null) { user.PersonalTrainerCredId = usertrainerdetails.TrainerCredID; dataContext.SaveChanges(); if (usertrainerdetails.TrainerCredID > 0) { string selectedUserName = string.Empty; selectedUserName = user.FirstName + " " + user.LastName; NotificationApiBL.SendSelectPrimaryTrainerNotificationToTrainer(usertrainerdetails.TrainerCredID, selectedUserName, cred.UserId, cred.UserType); } return(true); } } } return(false); } catch { throw; } finally { traceLog.AppendLine("End GetTrainerLibraryChallengeList : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
public static bool UpdatePassword(ChangePassword model) { bool success = false; StringBuilder traceLog = new StringBuilder(); EncryptDecrypt objEncrypt = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { objEncrypt = new EncryptDecrypt(); traceLog.AppendLine("Start: Login, ValidateUser Method with Param UserName: "******"CredentialId"]); string password = objEncrypt.EncryptString(AntiXssEncoder.HtmlEncode(model.OldPassword.Trim(), false)); string newpassword = objEncrypt.EncryptString(AntiXssEncoder.HtmlEncode(model.NewPassword.Trim(), false)); tblCredentials credential = _dbContext.Credentials.FirstOrDefault(m => m.Id == credentialId && m.Password == password); if (credential == null) { return(success); } else { credential.Password = newpassword; _dbContext.Entry(credential).State = EntityState.Modified; _dbContext.SaveChanges(); success = true; } } catch { throw; } finally { objEncrypt.Dispose(); traceLog.AppendLine("Index Start end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } return(success); }
/// <summary> /// Update Chat Notification based on sender and receiver Id /// </summary> /// <param name="currentUserCrdId"></param> /// <param name="senderCredId"></param> private static void UpdateChatNotification(int currentUserCrdId, int senderCredId) { new Thread(() => { Thread.CurrentThread.IsBackground = false; lock (syncLock) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); // string notificationType = string.Empty; traceLog.AppendLine("Start: UpdateChatNotification()"); string chatNotificationtype = NotificationType.ChatNotification.ToString(); List <tblUserNotifications> chatlist = (from ch in dataContext.UserNotifications where ch.NotificationType == chatNotificationtype && ch.ReceiverCredID == currentUserCrdId && ch.SenderCredlID == senderCredId && ch.IsRead == false select ch ).ToList(); chatlist.ForEach(ch => { ch.IsRead = true; }); dataContext.SaveChanges(); } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); } finally { traceLog.AppendLine("End: UpdateChatNotification() --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } } }).Start(); }
/// <summary> /// Function to post boom on challenge completed(Comment Section) /// </summary> /// <returns>int</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 05/06/2015 /// </devdoc> public static int PostBoom(ViewPostVM model) { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: ChallengeMessageFeedBL PostBoom"); Credentials objCred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); if (!_dbContext.Booms.Any(b => b.MessageStraemId == model.PostId && b.BoomedBy == objCred.Id)) { tblBoom objBoom = new tblBoom(); objBoom.BoomedBy = objCred.Id; objBoom.BoomedDate = DateTime.Now; objBoom.MessageStraemId = model.PostId; _dbContext.Booms.Add(objBoom); _dbContext.SaveChanges(); // Send the User Notification to user on result boomed if (model.UserId > 0 && !string.IsNullOrEmpty(model.UserType) && !(objCred.UserType == model.UserType && objCred.UserId == model.UserId)) { NotificationApiBL.SendNotificationToALLNType(model.UserId, model.UserType, NotificationType.NewsFeedBoomed.ToString(), objCred, model.PostId); } } return(_dbContext.Booms.Count(b => b.MessageStraemId == model.PostId)); } catch { throw; } finally { traceLog.AppendLine("End : ChallengeMessageFeedBL PostBoom : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Update Chat History /// </summary> /// <param name="currentUserCrdId"></param> /// <param name="senderCredId"></param> private static void UpdateChatHistory(int currentUserCrdId, int senderCredId) { new Thread(() => { Thread.CurrentThread.IsBackground = false; lock (syncLock) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: UpdateChatHistory()"); List <tblChatHistory> chatlist = (from ch in dataContext.ChatHistory where ch.ReceiverCredId == currentUserCrdId && ch.SenderCredId == senderCredId && ch.IsRead == false orderby ch.TrasactionDateTime descending select ch ).ToList(); chatlist.ForEach(ch => { ch.IsRead = true; }); dataContext.SaveChanges(); } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); } finally { traceLog.AppendLine("End: UpdateChatHistory() --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } } }).Start(); }
/// <summary> /// Update Exercise /// </summary> /// <param name="updateExecise"></param> /// <returns></returns> public static string UpdateExercise(ViewExerciseVM updateExecise) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { string sproutId = string.Empty; try { traceLog.AppendLine("Start: UpdateExercise---- " + DateTime.Now.ToLongDateString()); if (updateExecise != null && updateExecise.ExerciseId > 0) { traceLog.AppendLine("Updating Execise Id- " + updateExecise.ExerciseId); var execise = dataContext.Exercise.Where(ex => ex.IsActive && ex.ExerciseId == updateExecise.ExerciseId).FirstOrDefault(); if (execise != null) { execise.Index = string.IsNullOrEmpty(updateExecise.Index) ? updateExecise.Index : updateExecise.Index; execise.TeamID = updateExecise.TeamId; execise.TrainerID = updateExecise.TrainerId; execise.Description = updateExecise.Description; dataContext.SaveChanges(); sproutId = execise.VideoId; } } return(sproutId); } catch { throw; } finally { traceLog.AppendLine("End UpdateExercise : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to submit activity into database /// </summary> /// <returns>void</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/01/2015 /// </devdoc> public static void SubmitActivity(ActivityVM objActivityVM) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { using (System.Data.Entity.DbContextTransaction tran = dataContext.Database.BeginTransaction()) { traceLog = new StringBuilder(); try { traceLog.AppendLine("Start: SubmitActivity for creating activity"); tblCredentials objCred = dataContext.Credentials.FirstOrDefault(c => c.UserId == objActivityVM.TrainerId && c.UserType == Message.UserTypeTrainer); int trainerCredId = objCred.Id; objActivityVM.TrainerId = trainerCredId; Mapper.CreateMap <ActivityVM, tblActivity>(); tblActivity objActivity = Mapper.Map <ActivityVM, tblActivity>(objActivityVM); objActivity.CreatedDate = DateTime.Now; objActivity.ModifiedDate = objActivity.CreatedDate; // Add activity in to database dataContext.Activity.Add(objActivity); dataContext.SaveChanges(); tran.Commit(); } catch { tran.Rollback(); throw; } finally { traceLog.AppendLine("SubmitActivity end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } } }
/// <summary> /// Save Chat History /// </summary> /// <param name="chatHistory"></param> /// <returns></returns> public static void SaveChatHistory(ChatHistoryVM chatHistory) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { traceLog = new StringBuilder(); try { traceLog.AppendLine("Start: SaveChatHistory() for receiver Id"); Credentials cred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); if (chatHistory != null && chatHistory.ReceiverCredId > 0 && chatHistory.SenderCredId > 0 && !string.IsNullOrEmpty(chatHistory.Message)) { tblChatHistory objChatHistory = new tblChatHistory() { ReceiverCredId = chatHistory.ReceiverCredId, SenderCredId = cred.Id, Message = chatHistory.Message, IsRead = false, TrasactionDateTime = DateTime.UtcNow, }; dataContext.ChatHistory.Add(objChatHistory); dataContext.SaveChanges(); } return; } catch { throw; } finally { traceLog.AppendLine("SaveChatHistory end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Update Exercise SproutData /// </summary> /// <param name="updateExecise"></param> public static void UpdateExerciseSproutData(UpdateExerciseSproutLink updateExecise) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog.AppendLine("Start: UpdateExerciseSproutData---- " + DateTime.Now.ToLongDateString()); if (updateExecise != null && updateExecise.ExerciseId > 0) { traceLog.AppendLine("Updating Execise Id- " + updateExecise.ExerciseId); var execise = dataContext.Exercise.Where(ex => ex.ExerciseId == updateExecise.ExerciseId).FirstOrDefault(); if (execise != null) { string vidurlformat = "https://api-files.sproutvideo.com/file/{0}/{1}/{2}.mp4"; string v1 = updateExecise.V1080pUrl; string v5 = updateExecise.V240pUrl; string v4 = updateExecise.V360pUrl; string v3 = updateExecise.V480pUrl; string v2 = updateExecise.V720pUrl; if (string.IsNullOrEmpty(Convert.ToString(v2))) { if (string.IsNullOrEmpty(v3)) { if (string.IsNullOrEmpty(v4)) { execise.V720pUrl = v5; } else { execise.V720pUrl = v4; } } else { execise.V720pUrl = v3; } } else { execise.V720pUrl = v2; } if (string.IsNullOrEmpty(v1)) { execise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "1080"); } if (string.IsNullOrEmpty(v2) && string.IsNullOrEmpty(updateExecise.V720pUrl)) { execise.V720pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "240"); } if (string.IsNullOrEmpty(v3)) { execise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "480"); } if (string.IsNullOrEmpty(v4)) { execise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "360"); } if (string.IsNullOrEmpty(v5)) { execise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "240"); } execise.ThumnailUrl = updateExecise.ThumnailUrl; execise.SecuryId = updateExecise.SecuryId; execise.VideoId = updateExecise.VideoId; execise.IsUpdated = true; execise.VideoLink = updateExecise.VideoLink; execise.VideoId = updateExecise.VideoId; dataContext.SaveChanges(); } } } catch { throw; } finally { traceLog.AppendLine("End UpdateExerciseSproutData : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to update activity /// </summary> /// <returns>void</returns> /// <devdoc> /// Developer Name - Raghuraj Singh /// Date - 04/03/2015 /// </devdoc> public static void UpdateActivity(ActivityVM objActivityVM) { StringBuilder traceLog = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { using (System.Data.Entity.DbContextTransaction tran = dataContext.Database.BeginTransaction()) { traceLog = new StringBuilder(); try { traceLog.AppendLine("Start: UpdateActivity for updating activity"); tblCredentials objCred = dataContext.Credentials.FirstOrDefault(c => c.UserId == objActivityVM.TrainerId && c.UserType == Message.UserTypeTrainer); int trainerCredId = objCred.Id; objActivityVM.TrainerId = trainerCredId; objActivityVM.ModifiedDate = DateTime.Now; tblActivity objActivity = dataContext.Activity.Where(ac => ac.ActivityId == objActivityVM.ActivityId).FirstOrDefault(); if (objActivity != null) { objActivity.AddressLine1 = objActivityVM.AddressLine1; objActivity.TrainerId = objActivityVM.TrainerId; objActivity.ModifiedDate = objActivityVM.ModifiedDate; objActivity.AddressLine2 = objActivityVM.AddressLine2; objActivity.DateOfEvent = objActivityVM.DateOfEvent; objActivity.Description = objActivityVM.Description; objActivity.NameOfActivity = objActivityVM.NameOfActivity; objActivity.Pic = objActivityVM.Pic; objActivity.PromotionText = objActivityVM.PromotionText; objActivity.State = objActivityVM.State; objActivity.Video = objActivityVM.Video; objActivity.Zip = objActivityVM.Zip; objActivity.LearnMore = objActivityVM.LearnMore; objActivity.City = Convert.ToInt32(objActivityVM.City); } dataContext.SaveChanges(); ///set activivty to featured queue in database if (objActivityVM.StartDate != null && objActivityVM.EndDate != null) { tblFeaturedActivityQueue featuredActivityQueue = dataContext.FeaturedActivityQueue.Where(ce => ce.ActivityId == objActivityVM.ActivityId).FirstOrDefault(); tblFeaturedActivityQueue featuredActivity = new tblFeaturedActivityQueue(); /*if featured activity is created then update else create new featured activity*/ if (featuredActivityQueue != null) { featuredActivityQueue.StartDate = objActivityVM.StartDate; featuredActivityQueue.ActivityId = objActivityVM.ActivityId; featuredActivityQueue.EndDate = objActivityVM.EndDate; } else { featuredActivity.StartDate = objActivityVM.StartDate; featuredActivity.ActivityId = objActivityVM.ActivityId; featuredActivity.EndDate = objActivityVM.EndDate; dataContext.FeaturedActivityQueue.Add(featuredActivity); } dataContext.SaveChanges(); } tran.Commit(); } catch { tran.Rollback(); throw; } finally { traceLog.AppendLine("UpdateActivity end() : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } } }
/// <summary> /// Add Exercise SproutData /// </summary> /// <param name="updateExecise"></param> public static void AddExerciseSproutData(UpdateExerciseSproutLink updateExecise) { StringBuilder traceLog = new StringBuilder(); using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog.AppendLine("Start: AddExerciseSproutData---- " + DateTime.Now.ToLongDateString()); if (updateExecise != null) { tblExercise uploadExecise = new tblExercise(); if (uploadExecise != null) { string vidurlformat = "https://api-files.sproutvideo.com/file/{0}/{1}/{2}.mp4"; string v1 = updateExecise.V1080pUrl; string v5 = updateExecise.V240pUrl; string v4 = updateExecise.V360pUrl; string v3 = updateExecise.V480pUrl; string v2 = updateExecise.V720pUrl; if (string.IsNullOrEmpty(Convert.ToString(v2))) { if (string.IsNullOrEmpty(v3)) { if (string.IsNullOrEmpty(v4)) { uploadExecise.V720pUrl = v5; } else { uploadExecise.V720pUrl = v4; } } else { uploadExecise.V720pUrl = v3; } } else { uploadExecise.V720pUrl = v2; } if (string.IsNullOrEmpty(v1)) { uploadExecise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "1080"); } if (string.IsNullOrEmpty(v2) && string.IsNullOrEmpty(updateExecise.V720pUrl)) { uploadExecise.V720pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "240"); } if (string.IsNullOrEmpty(v3)) { uploadExecise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "480"); } if (string.IsNullOrEmpty(v4)) { uploadExecise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "360"); } if (string.IsNullOrEmpty(v5)) { uploadExecise.V240pUrl = string.Format(vidurlformat, updateExecise.VideoId, updateExecise.SecuryId, "240"); } uploadExecise.ThumnailUrl = updateExecise.ThumnailUrl; uploadExecise.SecuryId = updateExecise.SecuryId; uploadExecise.VideoId = updateExecise.VideoId; uploadExecise.IsUpdated = true; uploadExecise.VideoLink = updateExecise.VideoLink; uploadExecise.VideoId = updateExecise.VideoId; uploadExecise.ExerciseName = updateExecise.ExerciseName; uploadExecise.Index = updateExecise.Index; uploadExecise.IsActive = updateExecise.IsActive; uploadExecise.Description = updateExecise.Description; uploadExecise.VideoLink = updateExecise.VideoLink; uploadExecise.TrainerID = updateExecise.TrainerID; uploadExecise.TeamID = updateExecise.TeamID; uploadExecise.ExerciseStatus = 1; dataContext.Exercise.Add(uploadExecise); dataContext.SaveChanges(); } } } catch { throw; } finally { traceLog.AppendLine("End AddExerciseSproutData : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to post Share message text on challenge completed(Comment Section) /// </summary> /// <returns>ViewPostVM</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 05/06/2015 /// </devdoc> public static ViewPostVM PostShare(PostVM <TextMessageStream> message) { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: ChallengeMessageFeedBL PostShare"); Credentials objCred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); tblMessageStream objMessageStream = new tblMessageStream(); objMessageStream.Content = message.Stream.TextMessage; objMessageStream.MessageType = Message.TextMessageType; objMessageStream.PostedDate = DateTime.Now; objMessageStream.TargetType = Message.ChallengeTargetType; objMessageStream.SubjectId = objCred.Id; objMessageStream.TargetId = message.TargetId; //ChallengeId is assigned. objMessageStream.IsTextImageVideo = true; objMessageStream.IsImageVideo = message.IsImageVideo; _dbContext.MessageStraems.Add(objMessageStream); _dbContext.SaveChanges(); if (objCred.UserType.Equals(Message.UserTypeTrainer, StringComparison.OrdinalIgnoreCase)) { // User Notification when user post message on other user or trainer post data their team member NotificationApiBL.SendALLTeamNotificationByTrainer(objCred.UserId, objMessageStream.MessageStraemId, objCred.UserId, objCred.UserType); } ViewPostVM objViewPostVM = new ViewPostVM() { PostId = objMessageStream.MessageStraemId, Message = objMessageStream.Content, PostedDate = CommonWebApiBL.GetDateTimeFormat(objMessageStream.PostedDate), BoomsCount = _dbContext.Booms.Count(b => b.MessageStraemId == objMessageStream.MessageStraemId), CommentsCount = _dbContext.Comments.Count(cmnt => cmnt.MessageStraemId == objMessageStream.MessageStraemId) }; if (objCred.UserType.Equals(Message.UserTypeUser, StringComparison.OrdinalIgnoreCase)) { var user = (from usr in _dbContext.User join crd in _dbContext.Credentials on usr.UserId equals crd.UserId where crd.UserType == Message.UserTypeUser && crd.Id == objMessageStream.SubjectId select new { usr.FirstName, usr.LastName, usr.UserImageUrl, crd.UserId, crd.UserType }).FirstOrDefault(); if (user != null) { objViewPostVM.PostedByImageUrl = string.IsNullOrEmpty(user.UserImageUrl) ? string.Empty : CommonUtility.VirtualPath + Message.ProfilePicDirectory + user.UserImageUrl; objViewPostVM.UserName = user.FirstName + " " + user.LastName; objViewPostVM.UserId = user.UserId; objViewPostVM.UserType = user.UserType; } } else if (objCred.UserType.Equals(Message.UserTypeTrainer, StringComparison.OrdinalIgnoreCase)) { var trainer = (from t in _dbContext.Trainer join crd in _dbContext.Credentials on t.TrainerId equals crd.UserId where crd.UserType == Message.UserTypeTrainer && crd.Id == objMessageStream.SubjectId select new { t.FirstName, t.LastName, t.TrainerImageUrl, crd.UserId, crd.UserType }).FirstOrDefault(); if (trainer != null) { objViewPostVM.PostedByImageUrl = string.IsNullOrEmpty(trainer.TrainerImageUrl) ? string.Empty : CommonUtility.VirtualPath + Message.ProfilePicDirectory + trainer.TrainerImageUrl; objViewPostVM.UserName = trainer.FirstName + " " + trainer.LastName; objViewPostVM.UserId = trainer.UserId; objViewPostVM.UserType = trainer.UserType; } } return(objViewPostVM); } catch { throw; } finally { traceLog.AppendLine("End:ChallengeMessageFeedBL PostShare --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// Function to post comment on challenge completed(Comment Section) /// </summary> /// <returns>CommentVM</returns> /// <devdoc> /// Developer Name - Arvind Kumar /// Date - 05/06/2015 /// </devdoc> public static CommentVM PostComment(CommentVM model) { StringBuilder traceLog = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: ChallengeMessageFeedBL PostComment"); Credentials cred = CommonWebApiBL.GetUserId(Thread.CurrentPrincipal.Identity.Name); tblComment objComment = new tblComment(); objComment.CommentedBy = cred.Id; objComment.CommentedDate = DateTime.Now; objComment.Message = model.Message; objComment.MessageStraemId = model.PostId; _dbContext.Comments.Add(objComment); _dbContext.SaveChanges(); // User Notification when user post message on other user or trainer post data their team member if (!string.IsNullOrEmpty(model.UserType) && model.UserId == cred.UserId && cred.UserType == model.UserType) { NotificationApiBL.SendALLSenderNotificationByUser(model.PostId, NotificationType.NewsFeedCommented.ToString(), NotificationType.PostCommentedReplyMsg.ToString(), cred); } else if (model.UserId > 0 && !string.IsNullOrEmpty(model.UserType)) { NotificationApiBL.SendNotificationToALLNType(model.UserId, model.UserType, NotificationType.NewsFeedCommented.ToString(), cred, model.PostId); NotificationApiBL.SendALLSenderNotificationByUser(model.PostId, NotificationType.NewsFeedCommented.ToString(), NotificationType.PostCommentedReplyMsg.ToString(), cred); } CommentVM objCommentVM = new CommentVM() { CommentId = objComment.CommentId, PostId = model.PostId, CommentBy = objComment.CommentedBy, Message = model.Message, CommentDate = CommonWebApiBL.GetDateTimeFormat(objComment.CommentedDate), PostedCommentDate = objComment.CommentedDate.ToUniversalTime() }; if (cred.UserType.Equals(Message.UserTypeUser, StringComparison.OrdinalIgnoreCase)) { var user = _dbContext.User.FirstOrDefault(u => u.UserId == cred.UserId); if (user != null) { objCommentVM.ImageUrl = string.IsNullOrEmpty(user.UserImageUrl) ? string.Empty : CommonUtility.VirtualPath + Message.ProfilePicDirectory + user.UserImageUrl; objCommentVM.UserName = user.FirstName + " " + user.LastName; objCommentVM.UserId = user.UserId; objCommentVM.UserType = Message.UserTypeUser; } } else if (cred.UserType.Equals(Message.UserTypeTrainer, StringComparison.OrdinalIgnoreCase)) { var trainer = _dbContext.Trainer.FirstOrDefault(t => t.TrainerId == cred.UserId); if (trainer != null) { objCommentVM.ImageUrl = string.IsNullOrEmpty(trainer.TrainerImageUrl) ? string.Empty : CommonUtility.VirtualPath + Message.ProfilePicDirectory + trainer.TrainerImageUrl; objCommentVM.UserName = trainer.FirstName + " " + trainer.LastName; objCommentVM.UserId = trainer.TrainerId; objCommentVM.UserType = Message.UserTypeTrainer; } } return(objCommentVM); } catch { throw; } finally { traceLog.AppendLine("End : ChallengeMessageFeedBL PostComment : --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); } } }
/// <summary> /// /// </summary> /// <param name="credUserId"></param> /// <param name="message"></param> private static void SendChatNotification(SocketSentChatVM chatHistory) { byte[] certificate = File.ReadAllBytes(chatHistory.CeritifcatePath); new Thread(() => { Thread.CurrentThread.IsBackground = false; lock (syncLock) { StringBuilder traceLog = null; List <UserNotification> allactiveDevices = null; using (LinksMediaContext dataContext = new LinksMediaContext()) { try { traceLog = new StringBuilder(); traceLog.Append("Start:SendChatNotification()"); string notificationType = string.Empty; traceLog.AppendLine("Start: SendChallegesNotificationToUser()"); List <tblCredentials> chatsenderReceiverDetails = dataContext.Credentials.Where(em => string.Compare(em.EmailId, chatHistory.ReceiverEmailId, StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(em.EmailId, chatHistory.SenderEmailId, StringComparison.OrdinalIgnoreCase) == 0).ToList(); int receiverCredId = 0; int senderCredId = 0; string senderUserType = string.Empty; if (chatsenderReceiverDetails != null) { receiverCredId = chatsenderReceiverDetails.Where(em => em.EmailId.Equals(chatHistory.ReceiverEmailId, StringComparison.OrdinalIgnoreCase)).Select(cr => cr.Id).FirstOrDefault(); senderCredId = chatsenderReceiverDetails.Where(em => em.EmailId.Equals(chatHistory.SenderEmailId, StringComparison.OrdinalIgnoreCase)).Select(cr => cr.Id).FirstOrDefault(); senderUserType = chatsenderReceiverDetails.Where(em => em.EmailId.Equals(chatHistory.SenderEmailId, StringComparison.OrdinalIgnoreCase)).Select(cr => cr.UserType).FirstOrDefault(); } if (chatHistory != null && receiverCredId > 0 && senderCredId > 0 && !string.IsNullOrEmpty(chatHistory.Message)) { bool isRead = false; if (!chatHistory.IsOffine) { isRead = true; } tblChatHistory objChatHistory = new tblChatHistory() { ReceiverCredId = receiverCredId, SenderCredId = senderCredId, Message = chatHistory.Message, IsRead = isRead, TrasactionDateTime = Convert.ToDateTime(chatHistory.TrasactionDateTime), }; dataContext.ChatHistory.Add(objChatHistory); dataContext.SaveChanges(); if (chatHistory.IsOffine) { string message = string.Empty; allactiveDevices = PushNotificationBL.GetLastUserDeviceID(receiverCredId); string senderFirstName = string.Empty; if (senderUserType.Equals(Message.UserTypeUser, StringComparison.OrdinalIgnoreCase)) { senderFirstName = (from usr in dataContext.User join crd in dataContext.Credentials on usr.UserId equals crd.UserId where crd.Id == senderCredId && crd.UserType == Message.UserTypeUser select usr.FirstName + " " + usr.LastName).FirstOrDefault(); } else if (senderUserType.Equals(Message.UserTypeTrainer, StringComparison.OrdinalIgnoreCase)) { senderFirstName = (from usr in dataContext.Trainer join crd in dataContext.Credentials on usr.TrainerId equals crd.UserId where crd.Id == senderCredId && crd.UserType == Message.UserTypeTrainer select usr.FirstName + " " + usr.LastName).FirstOrDefault(); } message = senderFirstName + " sent you a message!"; bool isSaveSuccessfully = false; foreach (UserNotification objuserNotification in allactiveDevices) { // If Deives Token null then by pass to sending push notification if (!string.IsNullOrEmpty(objuserNotification.DeviceID)) { if (!isSaveSuccessfully) { notificationType = ConstantHelper.constChatNotification; tblUserNotifications objdeviceNft = new tblUserNotifications { SenderCredlID = senderCredId, ReceiverCredID = receiverCredId, NotificationType = notificationType, SenderUserName = senderFirstName, Status = true, IsRead = false, TargetID = 0, CreatedDate = DateTime.Parse(chatHistory.TrasactionDateTime), TokenDevicesID = objuserNotification.DeviceID }; dataContext.UserNotifications.Add(objdeviceNft); dataContext.SaveChanges(); isSaveSuccessfully = true; } PushNotificationiOSAndriod objPushNotificationiOSAndriod = new PushNotificationiOSAndriod(); int totalNotificationcount = dataContext.ChatHistory.Count(ch => ch.ReceiverCredId == receiverCredId && ch.IsRead == false); int totalbudget = CommonWebApiBL.GetTotalUSerNotification(receiverCredId, objuserNotification.DeviceID); if (objuserNotification.DeviceType.Equals(DeviceType.IOS.ToString(), StringComparison.OrdinalIgnoreCase)) { objPushNotificationiOSAndriod.SendPushNotificationForiOS(objuserNotification.DeviceID, message, notificationType, totalNotificationcount, certificate, totalbudget, 0); } else if (objuserNotification.DeviceType.Equals(DeviceType.Android.ToString(), StringComparison.OrdinalIgnoreCase)) { objPushNotificationiOSAndriod.SendPushNotificationForAndriod(objuserNotification.DeviceID, message, notificationType, totalNotificationcount, totalbudget, 0); } } } message = string.Empty; } } } catch (Exception ex) { LogManager.LogManagerInstance.WriteErrorLog(ex); } finally { traceLog.AppendLine("End: SendChatNotification() --- " + DateTime.Now.ToLongDateString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); traceLog = null; allactiveDevices = null; } } } }).Start(); }
/// <summary> /// Function to authenticate User base on user credetials and get authencation token /// </summary> /// <param name="username">username</param> /// <param name="password">password</param> /// <returns>True/False</returns> public static bool ValidateUser(Credentials usercred, ref Credentials credential, ref string token, ref string userType, ref int userId) { bool success = false; StringBuilder traceLog = null; EncryptDecrypt objEncrypt = null; using (LinksMediaContext _dbContext = new LinksMediaContext()) { tblUserToken objTokenInfo = null; tblCredentials item = null; try { traceLog = new StringBuilder(); traceLog.AppendLine("Start: Login, ValidateUser Method with Param UserName: "******"Start to create user token"); success = true; credential.UserId = item.UserId; credential.UserType = item.UserType; //Code for Last Login of User item.LastLogin = DateTime.Now; /*delete old user token on same devices except current user*/ if (usercred != null && string.IsNullOrEmpty(usercred.DeviceID)) { DeleteOtherUserTokensOnDevices(usercred.DeviceID, usercred.DeviceType); } objTokenInfo = new tblUserToken(); objTokenInfo.UserId = item.Id; objTokenInfo.Token = CommonUtility.GetToken(); objTokenInfo.ClientIPAddress = ConstantKey.DeviceID; objTokenInfo.TokenDevicesID = string.IsNullOrEmpty(usercred.DeviceID) ? string.Empty : usercred.DeviceID; objTokenInfo.DeviceType = string.IsNullOrEmpty(usercred.DeviceType) ? string.Empty : usercred.DeviceType; objTokenInfo.IsExpired = false; objTokenInfo.ExpiredOn = DateTime.Now.AddMinutes(Convert.ToDouble(ConfigurationManager.AppSettings["ExpireDuration"])); objTokenInfo.IsRememberMe = usercred.RememberMe; objTokenInfo.DeviceUID = usercred.DeviceUID; _dbContext.UserToken.Add(objTokenInfo); _dbContext.SaveChanges(); if (string.IsNullOrEmpty(usercred.DeviceID)) { NotificationApiBL.ResetUserNotification(item.Id); } token = objTokenInfo.Token; userType = item.UserType; userId = item.UserId; traceLog.AppendLine("Token are created" + token); } return(success); } finally { objEncrypt.Dispose(); traceLog.AppendLine("Login Start end() : --- " + DateTime.Now.ToLongDateString() + success.ToString()); LogManager.LogManagerInstance.WriteTraceLog(traceLog); item = null; traceLog = null; objTokenInfo = null; } } }