Exemple #1
0
        public async Task <ActionResult> CheckMessages(MyManageIndexViewModels model)
        {
            var resultModel = new MyManageIndexViewModels();
            var userId      = User.Identity.GetUserId();
            var user        = await UserManager.FindByIdAsync(userId);

            //Get all messages sent to this user or sent by this user
            var messages = _db.InternalMessages.Where(s => s.SenderID.Equals(userId) || s.ReceiverID.Equals(userId));

            resultModel.sentMessages     = new List <MyMessage>();
            resultModel.receivedMessages = new List <MyMessage>();
            foreach (var msg in messages)
            {
                // mails sent to this user
                if (msg.ReceiverID.Equals(userId))
                {
                    var sender = await UserManager.FindByIdAsync(msg.SenderID);

                    resultModel.receivedMessages.Add(new MyMessage {
                        message = msg, sender = sender
                    });
                }
                else if (msg.SenderID.Equals(userId))
                {//mails sent by this user
                    var receiver = await UserManager.FindByIdAsync(msg.ReceiverID);

                    resultModel.sentMessages.Add(new MyMessage {
                        message = msg, receiver = receiver
                    });
                }
            }

            return(View("CheckMessegsView", resultModel));
        }
Exemple #2
0
        public async Task <ActionResult> MyIndex()
        {
            var resultModel = new MyManageIndexViewModels();
            var userId      = User.Identity.GetUserId();
            var user        = await UserManager.FindByIdAsync(userId);

            var myUser = new MyUser {
                user = user
            };

            resultModel.CurrentUser = myUser;
            var performances = _db.UserSportPerformances.Where(s => s.UserID.Equals(userId));

            foreach (var pf in performances)
            {
                switch (pf.Sport)
                {
                case "badminton":
                    resultModel.BadmintonPf = parseLevelEnum(pf.Level);
                    break;

                case "TableTennis":
                    resultModel.TabletennisPf = parseLevelEnum(pf.Level);
                    break;

                case "TennisIndoor":
                    resultModel.TennisIdpf = parseLevelEnum(pf.Level);
                    break;

                case "FitnessGymnasiumWorkouts":
                    resultModel.FitnessPf = parseLevelEnum(pf.Level);
                    break;

                case "SquashRacquetball":
                    resultModel.SquashPf = parseLevelEnum(pf.Level);
                    break;

                case "Swimming":    //
                    resultModel.SwimmingPf = parseLevelEnum(pf.Level);
                    break;

                case "TennisOutdoor":    //
                    resultModel.TennisOdpf = parseLevelEnum(pf.Level);
                    break;

                default:
                    Console.WriteLine("Sport type error: " + pf.Sport);
                    break;
                }
            }
            return(View("MyManageIndex", resultModel));
        }
Exemple #3
0
        public async Task <ActionResult> UpdateUserInfoTask(MyManageIndexViewModels model)
        {
            var userId      = User.Identity.GetUserId();
            var currentUser = await UserManager.FindByIdAsync(userId);//find

            var apu = (ApplicationUser)currentUser;

            if (!model.CurrentUser.user.FirstName.Equals(currentUser.FirstName))//Modify Firstname
            {
                apu.FirstName = model.CurrentUser.user.FirstName;
            }
            if (!model.CurrentUser.user.Email.Equals(currentUser.Email))//Modify Email
            {
                apu.Email = model.CurrentUser.user.Email;
            }
            if (!model.CurrentUser.user.UserName.Equals(currentUser.UserName))//Modify Username
            {
                apu.UserName = model.CurrentUser.user.UserName;
            }
            if (!model.CurrentUser.user.LastName.Equals(currentUser.LastName))//Modify Lastname
            {
                apu.LastName = model.CurrentUser.user.LastName;
            }
            if (!model.CurrentUser.user.Gender.Equals(currentUser.Gender))//Modify Gender
            {
                apu.Gender = model.CurrentUser.user.Gender;
            }
            if (!model.CurrentUser.user.Age.Equals(currentUser.Age))//Modify Age
            {
                apu.Age = model.CurrentUser.user.Age;
            }
            try
            {
                var result = await UserManager.UpdateAsync(apu);
            }
            catch (DbEntityValidationException dbEx)
            {
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation("Property: {0} Error: {1}",
                                               validationError.PropertyName,
                                               validationError.ErrorMessage);
                    }
                }
            }
            return(RedirectToAction("MyIndex"));
        }
Exemple #4
0
        public async Task <ActionResult> UpdateUserSportLevel(MyManageIndexViewModels model)
        {
            var            userId = User.Identity.GetUserId();
            var            pfs    = _db.UserSportPerformances.Where(s => s.UserID.Equals(userId));
            SportLevelEnum?newPf  = null;

            foreach (var pf in pfs)
            {
                switch (pf.Sport)
                {
                case "badminton":
                    newPf = model.BadmintonPf;
                    break;

                case "TableTennis":
                    newPf = model.TabletennisPf;
                    break;

                case "TennisIndoor":
                    newPf = model.TennisIdpf;
                    break;

                case "FitnessGymnasiumWorkouts":
                    newPf = model.FitnessPf;
                    break;

                case "SquashRacquetball":
                    newPf = model.SquashPf;
                    break;

                case "Swimming":
                    newPf = model.SwimmingPf;
                    break;

                case "TennisOutdoor":
                    newPf = model.TennisOdpf;
                    break;

                default:
                    Console.WriteLine("Sport type error: " + pf.Sport);
                    break;
                }
                if (newPf.HasValue)
                {
                    pf.Level = newPf.ToString();
                }
            }

            try
            {
                _db.SaveChanges();
            }
            catch (System.Data.Entity.Core.EntityException dex)
            {
                //Log the error (uncomment dex variable name after DataException and add a line here to write a log.)
                ModelState.AddModelError("",
                                         "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
            }

            return(RedirectToAction("MyIndex"));
        }