public ActionResult Login(UserModel userModel)
        {
            if (!userModel.Authenthicate())
            {
                return View("InvalidUser");
            }

            FormsAuthentication.SetAuthCookie(userModel.Id.ToString(), false);
            return RedirectToAction("GetUserBusinessTrips", "BusinessTrip");
        }
        public void Authenthicate_ValidAndNotConfirmedUser_ReturnsFalse()
        {
            UserModel userModel = new UserModel()
            {
                Email = userRegistrationModel.Email,
                Password = userRegistrationModel.Password
            };

            var actual = userModel.Authenthicate();

            Assert.IsFalse(actual);
        }
        public void Authenthicate_InexistentEmail_ReturnsFalse()
        {
            UserModel userModel = new UserModel()
            {
                Email = "*****@*****.**",
                Password = "******"
            };

            var actual = userModel.Authenthicate();

            Assert.IsFalse(actual);
        }
        public void Authenthicate_ExistentConfirmedEmailWrongPassword_ReturnsFalse()
        {
            RegistrationConfirmationModel registrationConfirmationModel = new RegistrationConfirmationModel();
            registrationConfirmationModel.Confirm(userRegistrationModel.Id.ToString());

            UserModel userModel = new UserModel()
            {
                Email = userRegistrationModel.Email,
                Password = "******"
            };

            var actual = userModel.Authenthicate();

            Assert.IsFalse(actual);
        }
        public void Authenthicate_ValidAndConfirmedUser_ReturnsTrue()
        {
            RegistrationConfirmationModel registrationConfirmationModel = new RegistrationConfirmationModel();

            registrationConfirmationModel.Confirm(userRegistrationModel.Id.ToString());

            UserModel userModel = new UserModel()
            {
                Email = userRegistrationModel.Email,
                Password = userRegistrationModel.Password
            };

            var actual = userModel.Authenthicate();

            Assert.IsTrue(actual);
        }
        public ActionResult GetUserBusinessTrips()
        {
            UserModel userModel = new UserModel(GetUserIdFromCookie());

            var userBusinessTripsCollection =
                new UserBusinessTripsCollectionViewModel(
                    userModel.BusinessTrips.Select(e => new UserBusinessTripViewModel(e)).OrderByDescending(m => m.StartingDate));

            return View("UserBusinessTrips", userBusinessTripsCollection);
        }
 private void FromEntity(BusinessTripEntity businessTripEntity)
 {
     Id = businessTripEntity.Id;
     User = new UserModel(businessTripEntity.User);
     PmName = businessTripEntity.PmName;
     ProjectNumber = businessTripEntity.ProjectNumber;
     ProjectName = businessTripEntity.ProjectName;
     Accomodation = businessTripEntity.Accomodation;
     BankCardIsNeeded = businessTripEntity.BankCardIsNeeded;
     ClientLocation = businessTripEntity.ClientLocation;
     ClientName = businessTripEntity.ClientName;
     Area = businessTripEntity.Area;
     EndingDate = businessTripEntity.EndingDate;
     LeavingFrom = businessTripEntity.LeavingFrom;
     MeansOfTransportation = businessTripEntity.MeansOfTransportation;
     OtherInfo = businessTripEntity.OtherInfo;
     PhoneIsNeeded = businessTripEntity.PhoneIsNeeded;
     StartingDate = businessTripEntity.StartingDate;
     Status = businessTripEntity.Status;
     TaskName = businessTripEntity.TaskName;
     TaskNumber = businessTripEntity.TaskNumber;
 }
        public void Initialize()
        {
            EfStorage storage = new EfStorage(new EfStorageDbInitializerTest());
            storage.Database.Initialize(true);

            userRegistrationModel = new UserRegistrationModel()
            {
                Email = "*****@*****.**",
                Password = "******"
            };

            userRegistrationModel.Save();

            userModel = new UserModel(userRegistrationModel.Id);

            businessTripsRepository = new BusinessTripsRepository();

            businessTripModel = new BusinessTripModel
            {
                Id = Guid.NewGuid(),
                EndingDate = DateTime.Now,
                StartingDate = DateTime.Now,
                User = userModel
            };

            businessTripsRepository.SaveChanges();
        }
        public void Constructor_ValidUserEntity_RetunrsValidUserModel()
        {
            UserEntity userEntity = GetEntity();

            var userModel = new UserModel(userEntity);

            Assert.AreEqual(userEntity.BusinessTrips.Count, userModel.BusinessTrips.Count());
            Assert.AreEqual(userEntity.Email, userModel.Email);
            Assert.AreEqual(userEntity.Name, userModel.Name);
            Assert.AreEqual(userEntity.Id, userModel.Id);
        }
        public void GetEntity_EntityExistsInStorage_ReturnsCorrectEntity()
        {
            UserEntity expectedEntity = GetEntity();
            storage.Users.Add(expectedEntity);
            storage.SaveChanges();

            var userModel = new UserModel(expectedEntity.Id);

            UserEntity actualEntity = userModel.GetEntity();

            Assert.AreEqual(expectedEntity.Id, actualEntity.Id);
        }