コード例 #1
0
        public async Task <IHttpActionResult> UserId(object model)
        {
            var viewModels = new UserIdModel();
            await Task.Run(() => { viewModels.userId = User.Identity.GetUserId(); });

            return(ResponseMessage(Request.CreateResponse(System.Net.HttpStatusCode.OK, viewModels)));
        }
コード例 #2
0
        public IHttpActionResult UserFeedback(UserIdModel data)
        {
            FeedbackModel feedLike = new FeedbackModel {
                FeedId           = 1,
                FeedBody         = "liked",
                FeedDateTime     = "01.01.1990",
                OwnerId          = 1,
                OwnerNameSurname = "ali basli",
                OwnerPhoto       = File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG"),
                PostId           = 1,
                PostTitle        = "first post"
            };
            FeedbackModel feedComment = new FeedbackModel
            {
                FeedId           = 1,
                FeedBody         = "Commented",
                FeedDateTime     = "01.01.1990",
                OwnerId          = 1,
                OwnerNameSurname = "ali basli",
                OwnerPhoto       = File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG"),
                PostId           = 1,
                PostTitle        = "first post"
            };

            List <FeedbackModel> feeds = new List <FeedbackModel>();

            feeds.Add(feedLike);
            feeds.Add(feedComment);
            feeds.Add(feedLike);
            feeds.Add(feedComment);
            feeds.Add(feedLike);
            feeds.Add(feedComment);

            return(Ok(feeds));
        }
コード例 #3
0
        public async Task <IEnumerable <UserIdModel> > GetAllUsersInChannelAsync(int channelId)
        {
            try
            {
                IEnumerable <int> userIds = await _userChannelsRepo.GetAllUsersByChannelIdAsync(channelId);

                List <UserIdModel> userIdModels = new List <UserIdModel>();
                foreach (int userId in userIds)
                {
                    UserIdModel model = new UserIdModel();
                    model.UserId = userId;
                    string status = await _userChannelsRepo.GetStatus(userId);

                    model.AccountStatus = status;
                    UserAccountModel userAcountModel = await _userAccountRepository.GetAccountById(userId);

                    model.Username = userAcountModel.Username;
                    userIdModels.Add(model);
                }

                IEnumerable <UserIdModel> userIdModelI = userIdModels;

                return(userIdModelI);
            }
            catch
            {
                IEnumerable <UserIdModel> userIdModelI = null;
                return(userIdModelI);
            }
        }
コード例 #4
0
 public IHttpActionResult UserPhotos(UserIdModel data)
 {
     return(Ok(new
     {
         Messsage = "Ok"
     }));
 }
コード例 #5
0
        public IActionResult UserInfo(string user_id)
        {
            UserIdModel user = _leftRoverContext.Users.Where(usr => usr.Id.Equals(user_id)).FirstOrDefault();

            user.UserInfo = _userInfoContext.UserInfo.Where(usr => usr.Id.Equals(user_id)).FirstOrDefault();

            var curr_user = _userManager.FindByIdAsync(user_id);
            var claims    = _signInManager.UserManager.GetClaimsAsync(curr_user.Result);

            foreach (Claim claim in claims.Result)
            {
                if (claim.Value.Equals("Admin"))
                {
                    user.IsAdmin = true;
                }

                if (claim.Value.Equals("Recipient"))
                {
                    user.IsRecipient = true;
                }

                if (claim.Value.Equals("Donor"))
                {
                    user.IsDonor = true;
                }

                if (claim.Value.Equals("TaxIdVerified"))
                {
                    user.IsTaxStatusVerified = true;
                }
            }

            return(View(user));
        }
コード例 #6
0
        public async Task <IActionResult> GetUserProfileInfo(UserIdModel userIdModel)
        {
            User user = new User();

            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                user = _dbContext.Users.Where(x => x.Id == userIdModel.OwnerId).FirstOrDefault();
                transaction.Commit();
            }

            if (user != null)
            {
                if (user.Role == UserRole.Registered ||
                    user.Role == UserRole.SystemAdmin ||
                    user.Role == UserRole.AirlineAdmin ||
                    user.Role == UserRole.CarAdmin)
                {
                    return(Ok(new { user }));
                }
                else
                {
                    return(Unauthorized(new { user = "******" }));
                }
            }
            else
            {
                return(Ok(new { user = "******" }));
            }
        }
コード例 #7
0
        public IHttpActionResult UserProfile(UserIdModel data)
        {
            // kendi profil bilgileri ve kendi postları
            UserInfoApiModel userInfo = new UserInfoApiModel
            {
                Id       = 1,
                Name     = "Ali",
                Surname  = "Basli",
                Email    = "*****@*****.**",
                Birthday = "01-01-1990",
                Gender   = "Male"
            };
            PostsApiModel post = new PostsApiModel();

            post.PostId                = 1;
            post.PostOwnerId           = 1;
            post.PostOwnerProfileImage = File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG");//imageToByteArray(image1);
            post.PostOwnerNameSurname  = "ali basli";
            post.PostDateTime          = "01.01.1990";
            post.PostTitle             = "New Post";
            post.PostBody              = "the post about being ADAM!";
            post.PostImages            = null;
            List <PostsApiModel> posts = new List <PostsApiModel>();

            posts.Add(post);
            posts.Add(post);

            return(Ok(new
            {
                userInfo = userInfo,
                userPosts = posts
            }));
        }
コード例 #8
0
        public async Task <IActionResult> GetRacProfileInfo(UserIdModel userIdModel)
        {
            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                User user = _dbContext.Users.Include(c => c.RaCCompany).SingleOrDefault(c => c.Id == userIdModel.OwnerId); //nece da radi bez include

                if (user == null)
                {
                    return(Ok("User with given id is not registered!"));
                }

                if (user.Role.ToString() != UserRole.CarAdmin.ToString())
                {
                    return(Unauthorized("User does not have permission to use this method!"));
                }

                RentACarCompany racCompany = _dbContext.RentACarCompanies.Where(x => x.Id == user.RaCCompany.Id).SingleOrDefault();

                if (racCompany == null)
                {
                    return(Ok("Rent a car company does not exist!"));
                }

                transaction.Commit();
                return(Ok(new { racCompany }));
            }
        }
コード例 #9
0
        public async Task <IActionResult> GetAllUserCars(UserIdModel userIdModel)
        {
            User user = new User();

            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                user = _dbContext.Users.Include(x => x.RaCCompany).ThenInclude(x => x.Offices).ThenInclude(x => x.Cars).Where(x => x.Id == userIdModel.OwnerId).ToList().First();
                transaction.Commit();
            }

            if (user == null)
            {
                return(Ok("User with given id is not registered!"));
            }

            if (user.Role.ToString() != UserRole.CarAdmin.ToString())
            {
                return(Unauthorized("User does not have permission to use this method!"));
            }

            List <Car> allCars = new List <Car>();

            foreach (var office in user.RaCCompany.Offices)
            {
                foreach (var car in office.Cars)
                {
                    allCars.Add(car);
                }
            }
            return(Ok(new { allCars }));
        }
コード例 #10
0
        public async Task <IActionResult> GetUserOffices(UserIdModel userIdModel)
        {
            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                User user = _dbContext.Users.Include(c => c.RaCCompany).SingleOrDefault(c => c.Id == userIdModel.OwnerId);

                if (user == null)
                {
                    return(Ok("User with given id is not registered!"));
                }

                if (user.Role.ToString() != UserRole.CarAdmin.ToString())
                {
                    return(Unauthorized("User does not have permission to use this method!"));
                }

                RentACarCompany racCompany = _dbContext.RentACarCompanies.Include(x => x.Offices).SingleOrDefault(x => x.Id == user.RaCCompany.Id);
                if (racCompany == null)
                {
                    return(Ok("Rent a car company does not exist!"));
                }

                //List<Office> allOffices = _dbContext.Offices.Where(x => x)
                List <Office> allOffices = racCompany.Offices.ToList();

                transaction.Commit();
                return(Ok(new { allOffices }));
            }
        }
コード例 #11
0
        public IHttpActionResult UserHomeMessages(UserIdModel data)
        {
            MessageListModel msg = new MessageListModel
            {
                SenderId          = 1,
                SenderNameSurname = "rdvn gns",
                MessageRead       = true,
                SenderPhoto       = File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG")
            };
            List <MessageListModel> messages = new List <MessageListModel>();

            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);
            messages.Add(msg);

            return(Ok(messages));
        }
コード例 #12
0
        /// <summary>
        /// Залогиниться как другой пользователь
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <BaseApiResponse> LoginAsUserAsync(UserIdModel model)
        {
            var validation = ValidateModel(model);

            if (!validation.IsSucceeded)
            {
                return(validation);
            }

            if (!IsUserRoot())
            {
                return(new BaseApiResponse(false, "У вас недостаточно прав для логинирования за другого пользователя"));
            }

            var user = await SignInManager.UserManager.FindByIdAsync(model.Id);

            if (user == null)
            {
                return(new BaseApiResponse(false, "Пользователь не найден по укаанному идентификатору"));
            }

            await SignInManager.SignInAsync(user, true);

            return(new BaseApiResponse(true, $"Вы залогинены как {user.Email}"));
        }
コード例 #13
0
        public void TestSendPasswordToken_Good()
        {
            var userIdModel = new UserIdModel
            {
                userId = 8
            };

            // TODO: Add your test code here
            new AccountAction().SendPasswordToken(userIdModel);
            // TODO: Add your test code here
            //  Assert.(!(result.userId > 0) && result.loginResult == LoginResult.WrongLoginOrPassword);
        }
コード例 #14
0
        public ActionResult Index(UserModel userModel)
        {
            UserIdModel userIdModel = _userRepository.GetUserId(userModel.UserName);

            if (userIdModel.IsNull)
            {
                return(View("NoUsersExistWithThisName", userModel));
            }

            userModel.UserId = userIdModel.UserId;

            return(RedirectToAction("ShowCards", "Card", userModel));
        }
コード例 #15
0
        public async Task <IActionResult> GenerateNewPassword([FromBody] UserIdModel id)
        {
            try
            {
                var user = await _userService.GenerateNewPassword(id.Id).ConfigureAwait(false);

                return(Ok());
            }
            catch (AppException ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }
コード例 #16
0
        public async Task <(double?longitude, double?latitude)> GetUserLocation(string userId)
        {
            if (userId is null)
            {
                throw new ArgumentNullException(nameof(userId));
            }

            var request = new UserIdModel()
            {
                UserId = userId
            };

            var result = await _grpcClient.GetUserLocationAsync(request);

            return(result.Longitude, result.Latitude);
        }
コード例 #17
0
        public JsonResult GetGoodOwnerPhoneNumber(UserIdModel model)
        {
            string phoneNumber = string.Empty;

            var queryCustomer = _customerService.GetCustomerByUserId(model.UserId);

            if (queryCustomer != null)
            {
                phoneNumber = queryCustomer.ContactPhoneNumber;
            }
            else
            {
                var queryUser = _aspNetUsersService.QueryUsersByID(model.UserId);
                phoneNumber = queryUser.PhoneNumber;
            }
            return(Json(phoneNumber));
        }
コード例 #18
0
        public ActionResult SignUp(UserModel userModel)
        {
            try
            {
                _userRepository.InsertUser(userModel.UserName);
                UserIdModel userIdModel = _userRepository.GetUserId(userModel.UserName);

                userModel.UserId = userIdModel.UserId;

                userModel.IsEditable = true;

                return(RedirectToAction("ShowCards", "Card", userModel));
            }
            catch
            {
                return(View("ThisUserExists"));
            }
        }
コード例 #19
0
        public async Task <IActionResult> GetServiceRating(UserIdModel userIdModel)
        {
            User user = new User();

            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                user = _dbContext.Users.Include(x => x.RaCCompany).ThenInclude(x => x.Offices).ThenInclude(x => x.Cars).Where(x => x.Id == userIdModel.OwnerId).ToList().First();
                transaction.Commit();
            }

            if (user == null)
            {
                return(Ok("User does not exist!"));
            }

            if (user.Role.ToString() != UserRole.CarAdmin.ToString())
            {
                return(Unauthorized("User does not have permission to use this method!"));
            }

            int overallRatingSum = 0;
            int ratingsCount     = 0;

            foreach (var office in user.RaCCompany.Offices)
            {
                foreach (var car in office.Cars)
                {
                    overallRatingSum += car.CarRating;
                    ratingsCount     += car.NumberOfRatings;
                }
            }

            if (ratingsCount != 0)
            {
                int retVal = overallRatingSum / ratingsCount;
                return(Ok(new { retVal }));
            }
            else
            {
                return(Ok(new { retVal = "0" }));
            }
        }
コード例 #20
0
ファイル: FormController.cs プロジェクト: IPleshivtsev/PW
        public ActionResult HistoryForm(UserIdModel model)
        {
            if (model.UserId != 0)
            {
                LoggedUserInfo info = _userCache.Get(model.UserId);

                if (info != null)
                {
                    ViewBag.Name    = info.Name;
                    ViewBag.Balance = info.Balance;
                }
                else
                {
                    ViewBag.Name    = string.Empty;
                    ViewBag.Balance = 0;
                    model.UserId    = 0;
                }
            }
            return(View("Form/HistoryForm", model));
        }
コード例 #21
0
        public override async Task <UserLocationResponse> GetUserLocation(UserIdModel request, ServerCallContext context)
        {
            var userId = request.UserId;

            if (userId == null)
            {
                return(new UserLocationResponse
                {
                    Latitude = null,
                    Longitude = null
                });
            }

            var location = _userLocationGetter.GetUserLocation(userId);

            return(new UserLocationResponse
            {
                Longitude = location.longitude,
                Latitude = location.latitude
            });
        }
コード例 #22
0
ファイル: Account.cs プロジェクト: otbeptka13/Store_PankovES
        internal void SendChangePassword(UserIdModel model)
        {
            Guid?token = null;

            using (var db = Base.storeDataBaseContext)
            {
                db.GenerateToken(model.userId, ref token);
            }
            if (!token.HasValue || token.Value == Guid.Empty)
            {
                throw new InvalidOperationException("Ошибка выполнения запроса");
            }

            var user         = Base.GetUserById(model.userId);
            var userEmail    = user.email;
            var smtpSettings = SMTPSettings.Get();
            var textSubject  = Base.GetSettingValue("textForgotPasswordSubject");
            var textBody     = Base.GetSettingValue("textForgotPasswordBody");
            var url          = Base.GetSettingValue("url");

#if DEBUG
            url = "http://localhost:3540/";
#endif
            var resetUrlLink = string.Format(url + Base.GetSettingValue("routeChangePassword"), token);
            textBody = string.Format(textBody, resetUrlLink, Environment.NewLine, user.name);
            var smtp = new SmtpClient(smtpSettings.url, smtpSettings.port)
            {
                Credentials = new NetworkCredential(smtpSettings.login, smtpSettings.password),
                EnableSsl   = smtpSettings.ssl
            };
            smtp.Timeout = 5000;
            MailMessage message = new MailMessage
            {
                From    = new MailAddress(smtpSettings.login, smtpSettings.alias),
                Subject = textSubject,
                Body    = textBody
            };
            message.To.Add(new MailAddress(userEmail));
            smtp.Send(message);
        }
コード例 #23
0
        public IHttpActionResult UserHome(UserIdModel data)
        {
            PostsApiModel post = new PostsApiModel();

            post.PostId                = 1;
            post.PostOwnerId           = 1;
            post.PostOwnerProfileImage = File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG");//imageToByteArray(image1);
            post.PostOwnerNameSurname  = "ali basli";
            post.PostDateTime          = "01.01.1990";
            post.PostTitle             = "New Post";
            post.PostBody              = "the post about being ADAM!";

            post.PostImages = new List <byte[]>();
            post.PostImages.Add(File.ReadAllBytes("C:/social/Social/Social/Content/indir.JPG"));

            List <PostsApiModel> posts = new List <PostsApiModel>();

            posts.Add(post);
            posts.Add(post);

            return(Ok(posts));
        }
コード例 #24
0
ファイル: FormController.cs プロジェクト: IPleshivtsev/PW
        public JsonResult GetHistory(UserIdModel model)
        {
            LoggedUserInfo userInfo = _userCache.Get(model.UserId);

            if (userInfo != null)
            {
                Result <List <TransactPresentation> > transactionsList = _dataService.GetUserTransactions(userInfo.Token);
                if (transactionsList.Data != null)
                {
                    return(Json(transactionsList.Data, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    if (transactionsList.Error.IndexOf("401") != -1 || transactionsList.Error.IndexOf("403") != -1)
                    {
                        _userCache.Delete(model.UserId);
                        return(Json(ConstStrings.HistoryError401, JsonRequestBehavior.AllowGet));
                    }
                    return(Json(transactionsList.Error, JsonRequestBehavior.AllowGet));
                }
            }
            return(Json(ConstStrings.HistoryError401, JsonRequestBehavior.AllowGet));
        }
コード例 #25
0
        public async Task <IActionResult> GetAllCarEarnings(UserIdModel userIdModel)
        {
            User user = new User();

            using (var transaction = _dbContext.Database.BeginTransaction())
            {
                user = _dbContext.Users.Include(x => x.RaCCompany).ThenInclude(x => x.Offices).ThenInclude(x => x.Cars).ThenInclude(x => x.CarReservations).Where(x => x.Id == userIdModel.OwnerId).SingleOrDefault();
                transaction.Commit();
            }

            if (user == null)
            {
                return(Ok("User does not exist!"));
            }

            List <Office> userOffices = user.RaCCompany.Offices.ToList();

            if (userOffices == null)
            {
                return(Ok("Offices do not exist!"));
            }
            int retVal = 0;

            foreach (var office in userOffices)
            {
                foreach (var car in office.Cars)
                {
                    foreach (var carReservation in car.CarReservations)
                    {
                        retVal += carReservation.TotalPrice;
                    }
                }
            }

            return(Ok(new { retVal }));
        }
コード例 #26
0
        public JsonResult GetOwnVehicleList(UserIdModel model)
        {
            List <SelectListItem> jsonData = _vehicleService.GetOwnVehicleSelectListItem(model.UserId);

            return(Json(jsonData));
        }
コード例 #27
0
        public async Task <IActionResult> EditUser(UserIdModel user_given)
        {
            Claim       admin = new Claim("UserType", "Admin");
            UserIdModel user  = _leftRoverContext.Users.Where(usr => usr.Id.Equals(user_given.Id)).FirstOrDefault();

            user.UserInfo = _userInfoContext.UserInfo.Where(usr => usr.Id.Equals(user_given.Id)).FirstOrDefault();

            var curr_user = await _userManager.FindByIdAsync(user_given.Id);

            var Identity = new ClaimsIdentity(curr_user.Id);


            var claims = await _signInManager.UserManager.GetClaimsAsync(curr_user);

            bool was_admin           = false;
            bool was_donor           = false;
            bool was_recipient       = false;
            bool was_tax_id_verified = false;

            foreach (Claim claim in claims)
            {
                if (claim.Type.Equals("UserType") && claim.Value.Equals("Admin"))
                {
                    was_admin = true;
                }
                if (claim.Type.Equals("UserType") && claim.Value.Equals("Donor"))
                {
                    was_donor = true;
                }
                if (claim.Type.Equals("UserType") && claim.Value.Equals("Recipient"))
                {
                    was_recipient = true;
                }
                if (claim.Type.Equals("UserType") && claim.Value.Equals("TaxIdVerified"))
                {
                    was_tax_id_verified = true;
                }
            }

            if (user_given.IsAdmin && !was_admin)
            {
                await _signInManager.UserManager.AddClaimAsync(curr_user, new Claim("UserType", "Admin"));
            }
            else if (!user_given.IsAdmin && was_admin)
            {
                await _signInManager.UserManager.RemoveClaimAsync(curr_user, new Claim("UserType", "Admin"));
            }

            if (user_given.IsDonor && !was_donor)
            {
                await _signInManager.UserManager.AddClaimAsync(curr_user, new Claim("UserType", "Donor"));
            }
            else if (!user_given.IsDonor && was_donor)
            {
                await _signInManager.UserManager.RemoveClaimAsync(curr_user, new Claim("UserType", "Donor"));
            }

            if (user_given.IsRecipient && !was_recipient)
            {
                await _signInManager.UserManager.AddClaimAsync(curr_user, new Claim("UserType", "Recipient"));
            }
            else if (!user_given.IsRecipient && was_recipient)
            {
                await _signInManager.UserManager.RemoveClaimAsync(curr_user, new Claim("UserType", "Recipient"));
            }

            if (user_given.IsTaxStatusVerified && !was_tax_id_verified)
            {
                await _signInManager.UserManager.AddClaimAsync(curr_user, new Claim("UserType", "TaxIdVerified"));
            }
            else if (!user_given.IsTaxStatusVerified && was_tax_id_verified)
            {
                await _signInManager.UserManager.RemoveClaimAsync(curr_user, new Claim("UserType", "TaxIdVerified"));
            }

            claims = await _signInManager.UserManager.GetClaimsAsync(curr_user);

            foreach (Claim claim in claims)
            {
                if (claim.Value.Equals("Admin"))
                {
                    user.IsAdmin = true;
                }

                if (claim.Value.Equals("Recipient"))
                {
                    user.IsRecipient = true;
                }

                if (claim.Value.Equals("Donor"))
                {
                    user.IsDonor = true;
                }
            }

            return(View("UserInfo", user));
        }