Example #1
0
        public async Task <(bool Success, string Message)> UtworzWizyte(User user, WizytaCreate data)
        {
            if (data.Date == default || data.Time == default)
            {
                return(false, "Niepoprawna data wizyty");
            }

            var dt = new DateTime(data.Date.Year, data.Date.Month, data.Date.Day, data.Time.Hours, data.Time.Minutes, 0);

            var wizyta = new Wizyta();

            wizyta.Pacjent = user;
            wizyta.Doktor  = await _context.Users.Include(x => x.Role).FirstOrDefaultAsync(x => x.Role.Name == Consts.DoktorRoleName && x.Id == data.DoktorId);

            if (wizyta.Doktor == null)
            {
                return(false, "Nie można odnaleźć doktora");
            }

            var juzZajete = await _context.Wizyty.AnyAsync(x => x.Data == dt);

            if (juzZajete)
            {
                return(false, "Podana data jest już zarezerwowana");
            }

            wizyta.Data = dt;

            await _context.AddAsync(wizyta);

            await _context.SaveChangesAsync();

            return(true, "");
        }
Example #2
0
        public async Task <IActionResult> OnPost([FromForm] WizytaCreate data)
        {
            if (data != null)
            {
                var email = User.FindFirst(ClaimTypes.NameIdentifier).Value;
                var user  = await _context.Users.FirstAsync(x => x.Email == email);

                var result = await _service.UtworzWizyte(user, data);

                if (!result.Success)
                {
                    TempData["ErrorMessage"] = result.Message;
                }
            }

            return(Redirect("/Index"));
        }