Example #1
0
        public async Task <IActionResult> AddOrEdit(int id = 0)
        {
            ViewData["TypeOfSpravkaId"] = new SelectList(_context.TypeOfSpravkas, "TypeOfSpravkaId", "TypeOfSpravkaName");
            ViewData["GroupId"]         = new SelectList(_context.Groups.OrderBy(i => i.GroupName), "GroupId", "GroupName");

            if (id == 0)
            {
                var user = await _userManager.Users.Include(i => i.Anketa).ThenInclude(i => i.Specialty).FirstOrDefaultAsync(i => i.UserName == User.Identity.Name);

                Spravka spravka = new Spravka();

                if (user?.Anketa != null)
                {
                    spravka.Name       = user.Anketa.Name;
                    spravka.Surname    = user.Anketa.Surname;
                    spravka.Middlename = user.Anketa.Middlename;
                    spravka.GroupId    = user.Anketa.Specialty.GroupId;
                }

                return(View(spravka));
            }
            else
            {
                var spravka = await _context.Spravkas.FindAsync(id);

                if (spravka == null)
                {
                    return(NotFound("Не удалось найти справку"));
                }
                return(View(spravka));
            }
        }
Example #2
0
        public async Task <IActionResult> AddOrEdit(int id, [Bind("SpravkaId,Name,Surname,Middlename,OrganizationName,GroupId,AdditionalInformation,TypeOfSpravkaId")] Spravka model)
        {
            if (ModelState.IsValid)
            {
                if (id == 0)
                {
                    var user = await _userManager.FindByNameAsync(User.Identity.Name);

                    if (user == null)
                    {
                        return(NotFound("Пользователь не найден"));
                    }

                    await _context.Spravkas.AddAsync(model);

                    await _context.SaveChangesAsync();

                    SpravkaOrder spravkaOrder = new SpravkaOrder();
                    spravkaOrder.DateTimeNow = DateTime.Now;
                    spravkaOrder.UserId      = user.Id;
                    spravkaOrder.SpravkaId   = model.SpravkaId;

                    await _context.SpravkaOrders.AddAsync(spravkaOrder);

                    await _context.SaveChangesAsync();
                }
                else
                {
                    try
                    {
                        SpravkaOrder spravkaOrder = await _context.SpravkaOrders.FirstOrDefaultAsync(i => i.SpravkaId == model.SpravkaId);

                        spravkaOrder.DateTimeNow = DateTime.Now;

                        _context.Spravkas.Update(model);
                        _context.SpravkaOrders.Update(spravkaOrder);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!SpravkaExists(model.SpravkaId))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                }

                return(RedirectToAction("Index", "Home"));
            }
            ViewData["GroupId"]         = new SelectList(_context.Groups.OrderBy(i => i.GroupName), "GroupId", "GroupName");
            ViewData["TypeOfSpravkaId"] = new SelectList(_context.TypeOfSpravkas, "TypeOfSpravkaId", "TypeOfSpravkaName");
            return(View(model));
        }
Example #3
0
        private void Spravka_Click(object sender, RoutedEventArgs e)
        {
            Spravka spr = new Spravka();

            spr.ShowDialog();
        }