public ActionResult Join(NewJoining newJoining)
 {
     if (newJoining.OrderID != 0)
     {
         string       id   = User.Identity.GetUserId();
         AbstractUser user = db.AllUsers.OfType <AuthorizedUser>().Where(x => x.AppUser.Id == id).FirstOrDefault();
         if (user == null)
         {
             user           = new UnauthorizedUser();
             user.FirstName = newJoining.UserFirstName;
             user.LastName  = newJoining.UserLastName;
             db.AllUsers.Add(user);
             db.SaveChanges();
         }
         if (newJoining.UserFirstName == null || newJoining.UserLastName == null)
         {
             newJoining.UserFirstName = user.FirstName;
             newJoining.UserLastName  = user.LastName;
         }
         Order   order   = db.Orders.Where(x => x.Id == newJoining.OrderID).FirstOrDefault();
         Joining joining = new Joining();
         joining.Order   = order;
         joining.OrderId = order.Id;
         joining.User    = user;
         joining.UserId  = user.Id;
         joining.Text    = newJoining.Text;
         db.Joinings.Add(joining);
         db.SaveChanges();
         order.Joinings.Add(joining);
         db.SaveChanges();
         user.Joinings.Add(joining);
         db.SaveChanges();
     }
     return(RedirectToAction("Index", "Order"));
 }
예제 #2
0
        public void CreateUnauthorizedUser(UnauthorizedUser user)
        {
            Random random = new Random();

            user.VerificationCode = random.Next();
            var result = _databaseContext.UnauthorizedUsers.Add(user);

            _databaseContext.SaveChanges();
        }
        protected override void Seed(ApplicationDbContext context)
        {
            UnauthorizedUser u = new UnauthorizedUser();

            u.FirstName = "kek1";
            u.LastName  = "kek2";
            context.AllUsers.Add(u);
            context.SaveChanges();
        }
        public ActionResult Create(NewOrder model)
        {
            Order        order = new Order();
            AbstractUser user  = null;

            if (User.Identity.IsAuthenticated)
            {
                string id = User.Identity.GetUserId();
                IEnumerable <AuthorizedUser> u = db.AllUsers.OfType <AuthorizedUser>();
                user = u.FirstOrDefault(x => x.AppUserId == id);
                if (model.IsPrivate)
                {
                    order.IsPrivate = true;
                }
            }
            else
            {
                user           = new UnauthorizedUser();
                user.FirstName = model.FirstName;
                user.LastName  = model.LastName;
                db.AllUsers.Add(user);
                db.SaveChanges();
            }
            order.Creator            = user;
            order.CreatorId          = user.Id;
            order.Address            = model.Address;
            order.CompletionDateTime = DateTime.Parse(model.Date + " " + model.Time);
            order.OrderPlace         = model.Place;
            order.IsPrivate          = model.IsPrivate;

            db.Orders.Add(order);
            db.SaveChanges();

            Joining join = new Joining();

            join.Order   = order;
            join.OrderId = order.Id;
            join.Text    = model.TextOfOrder;
            join.User    = user;
            join.UserId  = user.Id;
            db.Joinings.Add(join);
            db.SaveChanges();
            user.Orders.Add(order);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public void Send(string name, string text, int OrderId)
        {
            // Call the addNewMessageToPage method to update clients.
            Order order = db.Orders.FirstOrDefault(x => x.Id == OrderId);

            if (order == null)
            {
                return;
            }
            AbstractUser user = db.AllUsers.OfType <AuthorizedUser>().FirstOrDefault(x => x.AppUser.UserName == name);

            if (user != null)
            {
                name = user.LastName + " " + user.FirstName;
            }
            else
            {
                user           = new UnauthorizedUser();
                user.FirstName = name;
                user.LastName  = "√";
                db.AllUsers.Add(user);
                db.SaveChanges();
            }

            Message message = new Message();

            message.Text             = text;
            message.OrderId          = OrderId;
            message.Order            = order;
            message.CreationDateTime = DateTime.Now;

            message.User   = user;
            message.UserId = user.Id;
            user.Messages.Add(message);
            order.Messages.Add(message);
            db.Messages.Add(message);
            db.SaveChanges();

            Clients.All.addNewMessageToPage(name, text);
        }
예제 #6
0
        public async Task ReceiveVerifyPhoneNumberCode(UnauthorizedUser unauthUser, string code)
        {
            if (unauthUser.Code == code)
            {
                _dbContext.UnauthorizedUsers.Remove(unauthUser);

                _dbContext.Users.Add(new User
                {
                    ChatId      = unauthUser.ChatId,
                    Username    = unauthUser.Username,
                    PhoneNumber = unauthUser.PhoneNumber
                });
                await _dbContext.SaveChangesAsync();

                await Bot.Api.SendTextMessageAsync
                    (unauthUser.ChatId,
                    _configService.Config.UserSubscribed,
                    replyMarkup : ReplyMarkupRemoveKeyboard);

                await _logger.LogAuth(LogConst.CorrectCodeSuccessAuth, _phoneHelper.Format(unauthUser.PhoneNumber));

                await _newLogger.LogByType(MessageTypes.Auth, LogConst.CorrectCodeSuccessAuth, unauthUser.PhoneNumber);
            }
            else
            {
                await Bot.Api.SendTextMessageAsync
                    (unauthUser.ChatId,
                    "Некорректный код");

                await _logger.LogAuth($"{LogConst.IncorrectCode}. Отправлено на телефон: {unauthUser.Code}, пользователь ввел {code}",
                                      _phoneHelper.Format(unauthUser.PhoneNumber));

                await _newLogger.LogByType(MessageTypes.Auth, $"{LogConst.IncorrectCode}. Отправлено на телефон: {unauthUser.Code}, пользователь ввел {code}",
                                           unauthUser.PhoneNumber);
            }
        }