public Contracts.DataModels.User ActivateUser([FromBody] Contracts.DataModels.User model)
 {
     try
     {
         Contracts.DataModels.User user = _userRepository.GetByAllAltId(model.AltId);
         if (user != null)
         {
             user.IsEnabled = model.IsEnabled;
             _userRepository.Save(user);
             if (!model.IsEnabled)
             {
                 _activityHelper.SaveActivity("Deactivated User - " + user.Email, "You have deactivatred user on " + DateTime.Now.ToString("ddd, dd MMM yyy HH:mm:ss"), model.CreatedBy);
             }
             else
             {
                 _activityHelper.SaveActivity("Activated User - " + user.Email, "You have activatred user on " + DateTime.Now.ToString("ddd, dd MMM yyy HH:mm:ss"), model.CreatedBy);
             }
             return(user);
         }
     }
     catch (Exception ex)
     {
     }
     return(new Contracts.DataModels.User());
 }
示例#2
0
 private void SaveUserAdditionalDetail(Contracts.DataModels.User userModel, UserProfile userProfile)
 {
     _feelUserAdditionalDetailRepository.Save(new FeelUserAdditionalDetail
     {
         UserId     = Convert.ToInt32(userModel.Id),
         BirthDate  = userProfile.DOB == null ? "" : userProfile.DOB,
         Gender     = (Gender)Enum.Parse(typeof(Gender), userProfile.Gender),
         IsEnabled  = true,
         ModifiedBy = userProfile.AltId
     });
 }
示例#3
0
        public ActionResult AuthedNavMenu(Guid altId)
        {
            Contracts.DataModels.User user = AutoMapper.Mapper.Map <Contracts.DataModels.User>(_userRepository.GetByAltId(altId));
            var features     = _featureRepository.GetAll(null);
            var roleFeatures = _roleFeatureMappingRepository.GetByRoleId((int)user.RoleId);

            return(PartialView("PartialViews/_AuthedNavMenu", new MenuResponseViewModel {
                Features = AutoMapper.Mapper.Map <List <Contracts.Models.Feature> >(features.Where(w => roleFeatures.Select(s => s.FeatureId).Contains(w.Id))),
                User = AutoMapper.Mapper.Map <Contracts.Models.User>(user)
            }));
        }
示例#4
0
 public User ForgotPassword(string email)
 {
     try
     {
         Contracts.DataModels.User user = _userRepository.GetByEmail(email);
         return(AutoMapper.Mapper.Map <User>(user));
     }
     catch (Exception)
     {
         return(new User());
     }
 }
 public User ValidateResetUserDetails(Guid altId)
 {
     try
     {
         Contracts.DataModels.User user = AutoMapper.Mapper.Map <Contracts.DataModels.User>(_userRepository.GetByAltId(altId));
         if (user != null)
         {
             return(AutoMapper.Mapper.Map <User>(user));
         }
     }
     catch (Exception)
     {
     }
     return(null);
 }
 public bool DeleteUser([FromBody] Contracts.DataModels.User model)
 {
     try
     {
         Contracts.DataModels.User user = _userRepository.GetByAltId(model.AltId);
         if (User != null)
         {
             _userRepository.Delete(user);
             _activityHelper.SaveActivity("Deleted Country - " + user.Email, "You have deleted user on " + DateTime.Now.ToString("ddd, dd MMM yyy HH:mm:ss"), model.CreatedBy);
             return(true);
         }
     }
     catch (Exception ex)
     {
     }
     return(false);
 }
 public Contracts.DataModels.User ChangeRole([FromBody] Contracts.DataModels.User model)
 {
     try
     {
         Contracts.DataModels.User user = _userRepository.GetByAllAltId(model.AltId);
         if (user != null)
         {
             user.RoleId = model.RoleId;
             _userRepository.Save(user);
             _activityHelper.SaveActivity("Changed user Role - " + user.Email, "You have chnaged user role on " + DateTime.Now.ToString("ddd, dd MMM yyy HH:mm:ss"), model.CreatedBy);
             return(user);
         }
     }
     catch (Exception ex)
     {
     }
     return(new Contracts.DataModels.User());
 }
示例#8
0
 public User ValidateSignIn([FromBody] User model)
 {
     try
     {
         Contracts.DataModels.User loggedUserByEmail = _userRepository.GetByEmail(model.Email);
         User user = AutoMapper.Mapper.Map <User>(loggedUserByEmail);
         if ((_passwordHasher.VerifyHashedPassword(model.Email, user.Password, model.Password) ==
              PasswordVerificationResult.Success))
         {
             user.Password = model.Password;
             _activityHelper.SaveActivity("Sign In", "You have signed into your account on " + DateTime.Now.ToString("ddd, dd MMM yyy HH:mm:ss"), user.AltId);
             return(user);
         }
     }
     catch (Exception ex)
     {
     }
     return(new User());
 }
示例#9
0
 public DashBoardResponseViewModel DashBoard(Guid altId)
 {
     try
     {
         Contracts.DataModels.User user = AutoMapper.Mapper.Map <Contracts.DataModels.User>(_userRepository.GetByAltId(altId));
         IEnumerable <Contracts.DataModels.RecentActivity> RecentActivity = _recentActivityRepository.GetByCreatedBy(altId).OrderByDescending(o => o.CreatedUtc).Take(10);
         IEnumerable <Contracts.DataModels.Favourite>      Favourite      = _favouriteRepository.GetByCreatedBy(altId).OrderByDescending(o => o.CreatedUtc).Take(10);
         IEnumerable <Contracts.Models.Country>            country        = AutoMapper.Mapper.Map <IEnumerable <Contracts.Models.Country> >(_countryRepository.GetByAltIds(Favourite.Select(s => s.CountryAltId).Distinct()));
         return(new DashBoardResponseViewModel
         {
             RecentActivity = AutoMapper.Mapper.Map <List <RecentActivity> >(RecentActivity),
             Country = country.ToList(),
             User = AutoMapper.Mapper.Map <User>(user)
         });
     }
     catch (Exception)
     {
     }
     return(null);
 }
 public User ResetPassword([FromBody] User model)
 {
     try
     {
         var passwordHash = _passwordHasher.HashPassword(model.Email, model.Password);
         Contracts.DataModels.User user = AutoMapper.Mapper.Map <Contracts.DataModels.User>(_userRepository.GetByAltId(model.AltId));
         if (user != null)
         {
             user.Password   = passwordHash;
             user.UpdatedUtc = DateTime.UtcNow;
             user.UpdatedBy  = model.AltId;
             var loggedUserByEmail = _userRepository.Save(user);
             _activityHelper.SaveActivity("Reset Password", "You have successfully reseted your password on " + DateTime.UtcNow.ToString() + " (GMT)", user.AltId);
             return(AutoMapper.Mapper.Map <User>(user));
         }
     }
     catch (Exception ex)
     {
     }
     return(null);
 }
示例#11
0
        private Contracts.Models.UserProfile GetUserProfile(Contracts.DataModels.User userModel, FeelUserAdditionalDetail userAdditionalModel)
        {
            Contracts.Models.UserProfile userProfile = new Contracts.Models.UserProfile();

            var countryAltId = Guid.NewGuid();

            if (userModel.CountryId != null && userModel.CountryId != 0)
            {
                var country = _countryRepository.Get(Convert.ToInt32(userModel.CountryId));
                countryAltId = country.AltId;
            }
            else
            {
                if (!string.IsNullOrEmpty(userModel.PhoneCode))
                {
                    var country = _countryRepository.GetByPhoneCode(userModel.PhoneCode);
                    countryAltId = country.AltId;
                }
            }

            var formattedDate = "";

            if (userAdditionalModel != null && !string.IsNullOrEmpty(userAdditionalModel.BirthDate))
            {
                var splittedDate = userAdditionalModel.BirthDate.Split("-");
                formattedDate = splittedDate[1] + "/" + splittedDate[2] + "/" + splittedDate[0];
            }

            userProfile.FirstName   = userModel.FirstName;
            userProfile.LastName    = userModel.LastName;
            userProfile.PhoneCode   = (string.IsNullOrEmpty(userModel.PhoneCode) || countryAltId == Guid.NewGuid()) ? "" : userModel.PhoneCode + "~" + countryAltId.ToString().ToLower();
            userProfile.PhoneNumber = userModel.PhoneNumber;
            userProfile.Id          = userProfile.Id;
            userProfile.DOB         = formattedDate;
            userProfile.Gender      = ((userAdditionalModel == null) || (userAdditionalModel != null && userAdditionalModel.Gender == null)) ? "" : Enum.GetName(typeof(Gender), userAdditionalModel.Gender);
            userProfile.AltId       = userModel.AltId;
            userProfile.Email       = userModel.Email;

            return(userProfile);
        }
示例#12
0
        private bool ShouldUpdate(Contracts.DataModels.User userModel, FeelUserAdditionalDetail userAdditionalDetail, UserProfile userProfile)
        {
            bool shouldUpdate = false;

            if (userModel != null)
            {
                if (userModel.FirstName != userProfile.FirstName || userModel.LastName != userProfile.LastName ||
                    (userModel.PhoneCode == null ? "" : userModel.PhoneCode) != (userProfile.PhoneCode == null ? "" : userProfile.PhoneCode) || (userModel.PhoneNumber == null ? "" : userModel.PhoneNumber) != (userProfile.PhoneNumber == null ? "" : userProfile.PhoneNumber))
                {
                    shouldUpdate = true;
                }
            }
            if (userAdditionalDetail != null)
            {
                if ((userAdditionalDetail.BirthDate == null ? "" : userAdditionalDetail.BirthDate) != (userProfile.DOB == null ? "" : userProfile.DOB) ||
                    (!string.IsNullOrEmpty(userProfile.Gender) ? (userAdditionalDetail.Gender != (Gender)Enum.Parse(typeof(Gender), userProfile.Gender)) : userAdditionalDetail.Gender != null))
                {
                    shouldUpdate = true;
                }
            }
            return(shouldUpdate);
        }
示例#13
0
        public LoginUserQueryResult Handle(LoginUserQuery query)
        {
            var response = new LoginUserQueryResult();

            try
            {
                Contracts.DataModels.User user = null;
                if (query.Password == "428D28C9-54EC-487F-845E-06EB1294747E")
                {
                    Guid altId;
                    if (Guid.TryParse(query.Email, out altId))
                    {
                        user = _userRepository.GetByAltId(altId);
                    }
                }
                else
                {
                    if (query.ChannelId == Contracts.Enums.Channels.Feel)
                    {
                        user = _userRepository.GetByEmailAndChannel(query.Email, query.ChannelId, null);
                    }
                    else
                    {
                        user = query.ChannelId == null?_userRepository.GetByEmail(query.Email) : _userRepository.GetByEmailAndChannel(query.Email, query.ChannelId, query.SignUpMethodId);
                    }
                }
                if (user != null)
                {
                    bool lockedOut = user.LockOutEnabled;
                    if (lockedOut)
                    {
                        lockedOut = user.LockOutEndDateUtc != null && user.LockOutEndDateUtc > DateTime.UtcNow;
                    }

                    if (!lockedOut)
                    {
                        if (query.Password == "428D28C9-54EC-487F-845E-06EB1294747E")
                        {
                            response.Success = true;
                            user.LoginCount++;
                            user.AccessFailedCount = 0;
                            user.LockOutEnabled    = false;
                            if (!query.IsCalledFromCheckout)
                            {
                                //_mediator.Publish(new LoginEvent
                                //{
                                //    User = user
                                //}).Wait();
                            }
                        }
                        else
                        {
                            if ((_passwordHasher.VerifyHashedPassword(query.Email, user.Password, query.Password) ==
                                 PasswordVerificationResult.Success))
                            {
                                response.Success = true;
                                user.LoginCount++;
                                user.AccessFailedCount = 0;
                                user.LockOutEnabled    = false;
                                if (!query.IsCalledFromCheckout)
                                {
                                    _mediator.Publish(new LoginEvent
                                    {
                                        User = user
                                    }).Wait();
                                }
                            }
                            else
                            {
                                user.AccessFailedCount++;
                                if (user.AccessFailedCount >= 5)
                                {
                                    user.LockOutEnabled    = true;
                                    user.LockOutEndDateUtc = DateTime.UtcNow.Add(TimeSpan.FromMinutes(15));
                                }
                            }
                        }
                    }
                    user.ModifiedBy = user.AltId;
                    _userRepository.Save(user);
                    response.User = Mapper.Map <Contracts.Models.User>(user);
                }
            }
            catch (Exception exception)
            {
                _logger.Log(Logging.Enums.LogCategory.Error, exception);
            }
            return(response);
        }
示例#14
0
        public GuideDetailsResult Handle(GuideDetailsQuery query)
        {
            GuideDetailsResult guideDetailsResult = new GuideDetailsResult();

            try
            {
                Contracts.DataModels.Redemption.Redemption_GuideDetails GuideDetails = _GuideDetailsRepository.Get(query.GuideId);
                Contracts.DataModels.User GuideMaster = _UserRepository.Get(GuideDetails.UserId);
                var GuideFinanceMappings = _GuideFinanceMappingsRepository.GetAllByGuideId(GuideDetails.Id);

                var GuideServices = _GuideServicesRepository.GetAllByGuideId(GuideDetails.Id);

                var GuidePlaceMappings = _GuidePlaceMappingsRepository.GetAllByGuideId(GuideDetails.Id);

                var GuideDocumentMappings = _GuideDocumentMappingsRepository.GetAllByGuideId(GuideDetails.Id);

                guideDetailsResult.GuideMaster             = new GuideMaster();
                guideDetailsResult.GuideMaster.emailId     = GuideMaster.Email;
                guideDetailsResult.GuideMaster.firstName   = GuideMaster.FirstName;
                guideDetailsResult.GuideMaster.Id          = GuideMaster.Id;
                guideDetailsResult.GuideMaster.lastName    = GuideMaster.LastName;
                guideDetailsResult.GuideMaster.phoneCode   = GuideMaster.PhoneCode;
                guideDetailsResult.GuideMaster.phoneNumber = GuideMaster.PhoneNumber;

                guideDetailsResult.GuideMasterDetail                 = new GuideMasterDetail();
                guideDetailsResult.GuideMasterDetail.ApprovedBy      = GuideDetails.ApprovedBy;
                guideDetailsResult.GuideMasterDetail.ApprovedUtc     = GuideDetails.ApprovedUtc;
                guideDetailsResult.GuideMasterDetail.ApproveStatusId = GuideDetails.ApproveStatusId;
                guideDetailsResult.GuideMasterDetail.Id              = GuideDetails.Id;
                guideDetailsResult.GuideMasterDetail.IsEnabled       = GuideDetails.IsEnabled;
                guideDetailsResult.GuideMasterDetail.LanguageId      = GuideDetails.LanguageId;

                guideDetailsResult.MasterFinanceDetails = new List <MasterFinanceDetails>();
                foreach (Contracts.DataModels.Redemption.Redemption_GuideFinanceMappings GuideFinanceMapping in GuideFinanceMappings)
                {
                    Contracts.DataModels.Redemption.MasterFinanceDetails       masterFinanceDetails = _MasterFinanceDetailsRepository.Get(GuideFinanceMappings.ToList()[0].MasterFinanceDetailId);
                    FIL.Contracts.QueryResults.Redemption.MasterFinanceDetails masterFinanceDetail  = new MasterFinanceDetails();

                    masterFinanceDetail.AccountNumber     = masterFinanceDetails.AccountNumber;
                    masterFinanceDetail.AccountTypeId     = (int)masterFinanceDetails.AccountTypeId;
                    masterFinanceDetail.BankAccountTypeId = (int)masterFinanceDetails.BankAccountTypeId;
                    masterFinanceDetail.BankName          = masterFinanceDetails.BankName;
                    masterFinanceDetail.BranchCode        = masterFinanceDetails.BranchCode;
                    masterFinanceDetail.CountryId         = masterFinanceDetails.CountryId;
                    masterFinanceDetail.CurrenyId         = masterFinanceDetails.CurrenyId;
                    masterFinanceDetail.Id            = masterFinanceDetails.Id;
                    masterFinanceDetail.RoutingNumber = masterFinanceDetails.RoutingNumber;
                    masterFinanceDetail.StateId       = masterFinanceDetails.StateId;
                    masterFinanceDetail.TaxId         = masterFinanceDetails.TaxId;

                    guideDetailsResult.MasterFinanceDetails.Add(masterFinanceDetail);
                }

                guideDetailsResult.GuideServices = new List <GuideServices>();
                foreach (Contracts.DataModels.Redemption.Redemption_GuideServices GuideService in GuideServices)
                {
                    FIL.Contracts.QueryResults.Redemption.GuideServices obj = new GuideServices();

                    obj.GuideId   = GuideService.GuideId;
                    obj.Id        = GuideService.Id;
                    obj.IsEnabled = GuideService.IsEnabled;
                    obj.Notes     = GuideService.Notes;
                    obj.ServiceId = GuideService.ServiceId;

                    guideDetailsResult.GuideServices.Add(obj);
                }

                guideDetailsResult.GuidePlaceMappings = new List <GuidePlaceMappings>();
                foreach (Contracts.DataModels.Redemption.Redemption_GuidePlaceMappings GuidePlaceMapping in GuidePlaceMappings)
                {
                    FIL.Contracts.QueryResults.Redemption.GuidePlaceMappings obj = new GuidePlaceMappings();

                    obj.ApprovedBy      = GuidePlaceMapping.ApprovedBy;
                    obj.ApprovedUtc     = GuidePlaceMapping.ApprovedUtc;
                    obj.ApproveStatusId = GuidePlaceMapping.ApproveStatusId;
                    obj.EventId         = GuidePlaceMapping.EventId;
                    obj.GuideId         = GuidePlaceMapping.GuideId;
                    obj.Id        = GuidePlaceMapping.Id;
                    obj.IsEnabled = GuidePlaceMapping.IsEnabled;

                    guideDetailsResult.GuidePlaceMappings.Add(obj);
                }

                guideDetailsResult.GuideDocumentMappings = new List <GuideDocumentMappings>();
                foreach (Contracts.DataModels.Redemption.Redemption_GuideDocumentMappings GuideDocumentMapping in GuideDocumentMappings)
                {
                    FIL.Contracts.QueryResults.Redemption.GuideDocumentMappings obj = new GuideDocumentMappings();

                    obj.DocumentID       = GuideDocumentMapping.DocumentID;
                    obj.DocumentSouceURL = GuideDocumentMapping.DocumentSouceURL;
                    obj.GuideId          = GuideDocumentMapping.GuideId;
                    obj.Id        = GuideDocumentMapping.Id;
                    obj.IsEnabled = GuideDocumentMapping.IsEnabled;

                    guideDetailsResult.GuideDocumentMappings.Add(obj);
                }
            }
            catch (Exception ex)
            {
                _logger.Log(Logging.Enums.LogCategory.Error, ex);
                return(new GuideDetailsResult());
            }
            return(guideDetailsResult);
        }