コード例 #1
0
ファイル: UserService.cs プロジェクト: Maxusbr/GT_Admin
        /// <summary>
        /// Снимает метку "delete" пользователя с <paramref name="id"/> устанавливает статус System;
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ServiceResponce MarkNotDeleted(int id)
        {
            User user = _userRep.FindOneById(id);

            if (user == null)
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "user doesn't exist"));
            }

            if (!StatusService.CanChangeStatus(user, UserStatusType.MarkDeleted, true))
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "the user isn't deleted"));
            }

            if (_userRep.CountByCredentails(user.UserName, user.UserPhone) != 0)
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "user with such email or phone already exists"));
            }

            StatusService.ChangeStatus(user, UserStatusType.System);
            _userRep.Save(user);
            return(ServiceResponce.FromSuccess());
        }
コード例 #2
0
        /// <summary>
        /// Посылает приглашение на регистрацию указанному пользователю
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ServiceResponce SendInvite(SendInviteModel model)
        {
            if (UserRep.CountByCredentails(model.Email, null) != 0)
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "User with Email " + model.Email + " already exist in system"));
            }
            InviteCode Invite = SendInviteModelHelper.CreateInviteCode(model);

            if (InviteRep.Add(Invite))
            {
                // Создаем задачу отправки сообщения в фоне и запускаем ее
                new Thread(send =>
                {
                    InviteEmailModel InviteEmailModel = InviteEmailModelHelper.GetInviteEmailModel(Invite);
                    string inviteText = TemplateServ
                                        .Run("Emails/Invite", typeof(InviteEmailModel), InviteEmailModel);
                    if (!EmailService.SendMail(InviteEmailModel, inviteText))
                    {
                        StatusService.ChangeStatus(Invite.User, UserStatusType.Invite, null, "Invite Email was not delivered");
                    }
                    else
                    {
                        StatusService.ChangeStatus(Invite.User, UserStatusType.Invite, null, "Invite Email was delivered");
                    }
                    InviteRep.Update(Invite);
                }).Start();

                return(ServiceResponce
                       .FromSuccess()
                       .Result("invite for user sended"));
            }
            else
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "error saving invited user in DB"));
            }
        }
コード例 #3
0
ファイル: UserService.cs プロジェクト: Maxusbr/GT_Admin
        /// <summary>
        /// Меняет статус Locked пользователя с <paramref name="id"> </paramref>на System;
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ServiceResponce Unlock(int id)
        {
            User user = _userRep.FindOneById(id);

            if (user == null)
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "User with specified Id was not found"));
            }

            if (!StatusService.CanChangeStatus(user, UserStatusType.Locked, true))
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "it is impossible to unlock because the user isn't locked"));
            }
            StatusService.ChangeStatus(user, UserStatusType.System);
            _userRep.Save(user);

            return(ServiceResponce.FromSuccess());
        }
コード例 #4
0
ファイル: UserService.cs プロジェクト: Maxusbr/GT_Admin
        /// <summary>
        /// Помечает пользователя с <paramref name="id"/> как удаленного;
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ServiceResponce MarkDeleted(int id)
        {
            User user = _userRep.FindOneById(id);

            if (user == null)
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "Can't delete user because he doesn't exist"));
            }

            if (!StatusService.CanChangeStatus(user, UserStatusType.MarkDeleted))
            {
                return(ServiceResponce
                       .FromFailed()
                       .Add("error", "it isn't possible to change the status to deleted"));
            }

            StatusService.ChangeStatus(user, UserStatusType.MarkDeleted);
            _userRep.Save(user);

            return(ServiceResponce.FromSuccess());
        }