Exemple #1
0
        public async Task <IdentityResult> Create([FromBody] Models.HotelUser model)
        {
            var appId = _repository.Get(app => app.Name.ToLower() == AppSetting.ExtranetAppName.ToLower()).FirstOrDefault();

            if (appId == null)
            {
                throw new Exception("Extranet Application not found in the application table.");
            }

            return(await base.Create(Map(model, new Entities.User(), appId.Id, 'C'), AppSetting.HotelUserType, AppSetting.HotelDefaultPassword));
        }
Exemple #2
0
        private Entities.User Map(Models.HotelUser model, Entities.User user, Guid extranetAppId, char mode)
        {
            if (user == null)
            {
                throw new Exception("User not found");
            }

            user.FirstName       = model.FirstName;
            user.LastName        = model.LastName;
            user.PhotoUrl        = model.ProfilePictureUri;
            user.UserName        = model.UserName;
            user.Email           = model.Email;
            user.NormalizedEmail = model.Email;
            user.ActivationDate  = model.ActivationDate;
            user.DeActivateDate  = model.DeActivationDate;
            user.IsActive        = model.IsActive;
            user.CreatedBy       = model.CreatedBy;
            user.CreatedDate     = model.CreatedDate;
            user.UpdatedBy       = model.UpdatedBy;
            user.UpdatedDate     = model.UpdatedDate;

            if (mode == 'U')
            {
                return(user);
            }

            user.UserAppRoleMapping.Add(new Entities.UserAppRoleMapping
            {
                CreatedBy     = model.CreatedBy,
                CreatedDate   = model.CreatedDate,
                UpdatedBy     = model.UpdatedBy,
                UpdatedDate   = model.UpdatedDate,
                ApplicationId = extranetAppId,
                RoleId        = model.ExtranetRoleId,
                IsActive      = model.IsActive
            });

            foreach (var item in model.HotelId)
            {
                user.UserHotels.Add(new Entities.UserHotel
                {
                    HotelId     = item,
                    CreatedBy   = model.CreatedBy,
                    CreatedDate = model.CreatedDate,
                    UpdatedBy   = model.UpdatedBy,
                    UpdatedDate = model.UpdatedDate,
                });
            }



            return(user);
        }
Exemple #3
0
        public async Task <IdentityResult> Update([FromRoute] Guid id, [FromBody] Models.HotelUser model)
        {
            var appId = _repository.Get(app => app.Name.ToLower() == AppSetting.ExtranetAppName.ToLower()).FirstOrDefault();

            if (appId == null)
            {
                throw new Exception("Extranet Application not found in the application table.");
            }

            var user = GetUserDetailsById(id);

            return(await base.Update(Map(model, user, appId.Id, 'U')));
        }
Exemple #4
0
        private Entities.User Map(Models.HotelUser model, Entities.User user, Guid extranetAppId, char mode)
        {
            if (user == null)
            {
                throw new Exception("User not found");
            }

            user.FirstName       = model.FirstName;
            user.LastName        = model.LastName;
            user.PhotoUrl        = model.ProfilePictureUri;
            user.UserName        = model.UserName;
            user.Email           = model.Email;
            user.NormalizedEmail = model.Email;
            user.ActivationDate  = model.ActivationDate;
            user.DeActivateDate  = model.DeActivationDate;
            if (mode == 'C')
            {
                user.IsActive = (DateTime.UtcNow.AddHours(7).Date >= model.ActivationDate.Date) ? true : false;
            }
            else if (mode == 'U')
            {
                if (!string.IsNullOrEmpty(model.InActivationType))
                {
                    if (model.InActivationType.ToUpperInvariant() == "P")
                    {
                        user.IsActive = (DateTime.UtcNow.AddHours(7).Date >= model.DeActivationDate.Value.Date) ? false : true;
                    }
                    else if (model.InActivationType.ToUpperInvariant() == "T")
                    {
                        user.IsActive = (DateTime.UtcNow.AddHours(7).Date >= model.TemporaryInActivationDate.Value.Date) ? false : true;
                    }
                }
            }
            user.CreatedBy                 = model.CreatedBy;
            user.CreatedDate               = model.CreatedDate;
            user.UpdatedBy                 = model.UpdatedBy;
            user.UpdatedDate               = model.UpdatedDate;
            user.DesignationId             = model.DesignationId;
            user.InActivationType          = model.InActivationType;
            user.TemporaryActivationDate   = model.TemporaryActivationDate;
            user.TemporaryInActivationDate = model.TemporaryInActivationDate;
            user.IsDeleted                 = false;
            user.HotelUserType             = model.HotelUserType;
            user.PhoneNumber               = model.ContactNumber;

            if (!user.UserAppRoleMapping.Where(u => u.ApplicationId == extranetAppId && u.RoleId == model.ExtranetRoleId).Any())
            {
                user.UserAppRoleMapping.Clear();
                user.UserAppRoleMapping.Add(new Entities.UserAppRoleMapping
                {
                    CreatedBy     = model.CreatedBy,
                    CreatedDate   = model.CreatedDate,
                    UpdatedBy     = model.UpdatedBy,
                    UpdatedDate   = model.UpdatedDate,
                    ApplicationId = extranetAppId,
                    RoleId        = model.ExtranetRoleId,
                    IsActive      = true
                });
            }

            user.HotelUserRelation.Clear();
            foreach (var item in model.HotelId)
            {
                user.HotelUserRelation.Add(new Entities.HotelUserRelation
                {
                    HotelId     = item,
                    CreatedBy   = model.CreatedBy,
                    CreatedDate = model.CreatedDate,
                    UpdatedBy   = model.UpdatedBy,
                    UpdatedDate = model.UpdatedDate,
                });
            }



            return(user);
        }