public ActionResult Create([Bind(Include = "id_zapisu,id_pacjenta,id_lekarza,data,godzina")] zapis zapis)
        {
            string  email_zalogowanego_pacjenta = User.Identity.Name;//email zalogowanego pacjenta, ktory zapisuje sie do kolejki
            pacjent zalogowany_pacjent          = db.pacjent.FirstOrDefault(i => i.AspNetUsers.Email == email_zalogowanego_pacjenta);

            if (zalogowany_pacjent != null)
            {
                zapis.id_pacjenta = zalogowany_pacjent.id_pacjent;
            }
            int ilosc_w_kolejce;

            do
            {
                List <zapis> temp = db.zapis.ToList();
                ilosc_w_kolejce = temp.FindAll(z => z.data == zapis.data && z.id_lekarza == zapis.id_lekarza).Count;
                if (ilosc_w_kolejce == 24)
                {
                    zapis.data      = ((DateTime)zapis.data).AddDays(1);
                    ilosc_w_kolejce = -1;
                }
            } while (ilosc_w_kolejce == -1);
            zapis.godzina = new TimeSpan(0, 480 + 20 * (ilosc_w_kolejce % 24), 0);
            if (ModelState.IsValid)
            {
                db.zapis.Add(zapis);
                db.SaveChanges();
                return(Content("<script language='javascript' type='text/javascript'>alert('Zapisałeś/aś się do lekarza na najbliższy termin tj.: " + ((DateTime)zapis.data).ToString("yyyy-MM-dd") + " " + zapis.godzina + "');window.location.href =\"http://localhost:1768/zapis/index\";</script>"));
            }

            ViewBag.id_lekarza  = new SelectList(db.lekarz, "id_lekarz", "nazwisko", zapis.id_lekarza);
            ViewBag.id_pacjenta = new SelectList(db.pacjent, "id_pacjent", "nazwisko", zapis.id_pacjenta);
            return(View(zapis));
        }
Exemple #2
0
        public ActionResult Create([Bind(Include = "id_pacjent,nazwisko,imie,wiek,pesel,telefon,Email,Password,ConfirmPassword")] pacjent pacjent)
        {
            if (pacjent.Email == null || pacjent.Password == null || pacjent.Password != pacjent.ConfirmPassword)//tego nie obejmuje sprawdzenie modelu, dlatego jest sprawdzane oddzielnie
            {
                return(View(pacjent));
            }
            if (ModelState.IsValid)
            {
                ApplicationDbContext context = new ApplicationDbContext();
                var UserManagerr             = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

                var user = new ApplicationUser {
                    UserName = pacjent.Email, Email = pacjent.Email
                };
                var result = UserManagerr.Create(user, pacjent.Password);
                if (result.Succeeded)
                {
                    UserManagerr.AddToRoleAsync(user.Id, pacjent.UserRoles);
                    pacjent.id_uzytkownika = user.Id;
                    db.pacjent.Add(pacjent);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }

            return(View(pacjent));
        }
Exemple #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            pacjent pacjent = db.pacjent.Find(id);

            db.pacjent.Remove(pacjent);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: zapis
        public ActionResult Index()
        {
            string  userID             = User.Identity.GetUserId();
            pacjent zalogowany_pacjent = db.pacjent.FirstOrDefault(i => i.id_uzytkownika == userID);
            var     id_pacjent         = zalogowany_pacjent.id_pacjent;

            ViewBag.Data = id_pacjent;
            var zapis = db.zapis.Include(z => z.lekarz).Include(z => z.pacjent);

            return(View(zapis.ToList()));
        }
Exemple #5
0
        public ActionResult Edit([Bind(Include = "id_pacjent,nazwisko,imie,wiek,pesel,telefon,id_uzytkownika")] pacjent pacjent)
        {
            string org_id = (db.pacjent.AsNoTracking().Where(i => i.id_pacjent == pacjent.id_pacjent)).First().id_uzytkownika;

            if (ModelState.IsValid)
            {
                db.Entry(pacjent).State = EntityState.Modified;
                pacjent.id_uzytkownika  = org_id;
                db.SaveChanges();
                return(RedirectToAction("Index", "Manage"));
            }
            return(View(pacjent));
        }
Exemple #6
0
        // GET: pacjent/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            pacjent pacjent = db.pacjent.Find(id);

            if (pacjent == null)
            {
                return(HttpNotFound());
            }
            return(View(pacjent));
        }
Exemple #7
0
        // GET: pacjent/Edit/5
        public ActionResult Edit(int?id)
        {
            ePrzychodniaEntities db = new ePrzychodniaEntities();

            if (id != null)
            {
                pacjent pacjent_z_id = db.pacjent.FirstOrDefault(i => i.id_pacjent == id);
                return(View(pacjent_z_id));
            }
            string  cos = User.Identity.GetUserId();//dla zalogowanego pacjenta, ktory uzupelnia swoje dane
            pacjent zalogowany_pacjent = db.pacjent.FirstOrDefault(i => i.id_uzytkownika == cos);

            if (zalogowany_pacjent != null)
            {
                return(View(zalogowany_pacjent));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
Exemple #8
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            model.UserRoles = "Pacjent";

            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    // await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); // Po rejestracji nie zostaje zalogowany

                    // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
                    // Send an email with this link
                    // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    await this.UserManager.AddToRoleAsync(user.Id, "Pacjent");//domyslna rola to pacjent

                    ePrzychodniaEntities db = new ePrzychodniaEntities();
                    pacjent nowy_pacjent    = new pacjent();
                    nowy_pacjent.id_uzytkownika = user.Id;
                    db.pacjent.Add(nowy_pacjent);
                    db.SaveChanges();
                    return(Content("<script language='javascript' type='text/javascript'>alert('Rejestracja pomyślna, teraz możesz się zalogować. Nie zapomnij uzupełnić swoich danych.');window.location.href =\"http://localhost:1768/Account/Login\";</script>"));
                    // return RedirectToAction("login", "Account");
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }