Пример #1
0
        public async Task <IActionResult> PutTicket(long id, Ticket ticket, string token)
        {
            if (!checkToken(token, "PutTicket"))
            {
                return(StatusCode(403));
            }

            if (id != ticket.Id)
            {
                return(BadRequest());
            }

            _context.Entry(ticket).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TicketExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #2
0
        public async Task <IActionResult> Create([Bind("Id,Start,Finish,Country,Category")] Route route)
        {
            if (ModelState.IsValid)
            {
                _context.Add(route);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(route));
        }
        public async Task <IActionResult> Edit(EditViewModel model)
        {
            if (ModelState.IsValid)
            {
                User user = await db.Users.FirstOrDefaultAsync(u => u.Id == model.Id);

                user.Surename = model.Surename;
                user.Name     = model.Name;
                user.Email    = model.Email;
                user.Username = model.Email.Substring(0, model.Email.IndexOf("@"));
                user.Phone    = model.Phone;
                await db.SaveChangesAsync();
            }

            return(View(model));
        }
Пример #4
0
        public async Task <IActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                User user = db.Users.FirstOrDefault <User>(u => u.Email == model.Email);

                if (user == null)
                {
                    string username = model.Email.Substring(0, model.Email.IndexOf("@"));

                    db.Users.Add(new User
                    {
                        Surename = model.Surename,
                        Name     = model.Name,
                        Username = username,
                        Email    = model.Email,
                        Phone    = model.PhoneNumber,
                        Password = model.Password
                    });
                    await db.SaveChangesAsync();

                    await Authenticate(username, model.Email);

                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    ModelState.AddModelError("", "Данный пользователь уже зарегистрирован в системе");
                }
            }
            return(View(model));
        }
Пример #5
0
        public async Task <IActionResult> ResetPassword(int id, ResetPasswordViewModel model)
        {
            using (db = new RailwayContext(new DbContextOptions <RailwayContext>()))
            {
                if (ModelState.IsValid)
                {
                    var user = await db.Users.Where(u => u.Id == id).FirstOrDefaultAsync();

                    user.Password = model.Password;
                    await db.SaveChangesAsync();

                    return(RedirectToAction("Login", "Account"));
                }
            }

            return(View(model));
        }
 public void Save()
 {
     _context.SaveChangesAsync();
 }
Пример #7
0
        public async Task <HttpResponseMessage> UpdateRailwayAsync(IEnumerable <RailwayJsonModel> railways)
        {
            if (railways == null)
            {
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }

            try
            {
                bool           isUpdated   = false;
                List <Railway> railwaysNew = new List <Railway>();

                foreach (var railway in railways)
                {
                    var value = await _context.Railways.SingleOrDefaultAsync(r => r.Id == railway.ID);

                    if (value != null) // update
                    {
                        if (railway.DateUpdate > value.DateUpdate)
                        {
                            continue;
                        }

                        value.ShortName             = railway.ShortName;
                        value.Name                  = railway.Name;
                        value.TelegraphName         = railway.TelegraphName;
                        value.CountryId             = railway.CountryID;
                        value.DateCreate            = railway.DateCreate;
                        value.DateUpdate            = railway.DateUpdate;
                        value.Code                  = railway.Code;
                        _context.Entry(value).State = EntityState.Modified;
                        isUpdated = true;
                    }
                    else // new
                    {
                        railwaysNew.Add(new Railway
                        {
                            Id            = railway.ID,
                            Code          = railway.Code,
                            Name          = railway.Name,
                            ShortName     = railway.ShortName,
                            TelegraphName = railway.TelegraphName,
                            DateCreate    = railway.DateCreate,
                            DateUpdate    = railway.DateUpdate,
                            CountryId     = railway.CountryID
                        });
                    }
                }

                if (isUpdated)
                {
                    await _context.SaveChangesAsync();
                }

                if (railwaysNew.Count > 0)
                {
                    await _context.Railways.AddRangeAsync(railwaysNew);

                    await _context.SaveChangesAsync();
                }
            }
            catch
            {
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }