Пример #1
0
 /// <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);
     }
 }
Пример #2
0
        /// <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);
                }
            }
        }
Пример #3
0
 /// <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);
         }
     }
 }
Пример #4
0
        /// <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;
                }
            }
        }
Пример #5
0
 /// <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);
         }
     }
 }
Пример #6
0
        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);
                }
            }
        }
Пример #7
0
        /// <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);
                }
            }
        }
Пример #8
0
 /// <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);
         }
     }
 }
Пример #9
0
        /// <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);
                }
            }
        }
Пример #11
0
        /// <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;
                }
            }
        }
Пример #12
0
        /// <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);
                    }
                }
            }
        }
Пример #13
0
 /// <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);
         }
     }
 }
Пример #14
0
        /// <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);
                }
            }
        }
Пример #16
0
        /// <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);
                }
            }
        }
Пример #17
0
        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);
                }
            }
        }
Пример #22
0
        /// <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);
                }
            }
        }
Пример #25
0
        /// <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();
        }
Пример #30
0
        /// <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;
                }
            }
        }