public ActionResult Create(Office model)
        {
            if (ModelState.IsValid)
            {
                using (var database = new MeetingRoomBookingSystemDbContext())
                {
                    model.IsActive = true;

                    var office = new Office
                    {
                        Id          = model.Id,
                        Name        = model.Name,
                        Address     = model.Address,
                        IsActive    = true,
                        PhoneNumber = model.PhoneNumber,
                        TimeZone    = model.TimeZone
                    };

                    database.Offices.Add(office);
                    database.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }

            return(View(model));
        }
Exemple #2
0
 public ActionResult Index()
 {
     using (var database = new MeetingRoomBookingSystemDbContext())
     {
         return(RedirectToAction("Index", "Office"));
     }
 }
        public ActionResult Edit(Office model)
        {
            if (ModelState.IsValid)
            {
                using (var database = new MeetingRoomBookingSystemDbContext())
                {
                    var office = database
                                 .Offices
                                 .FirstOrDefault(o => o.Id == model.Id);

                    office.Name         = model.Name;
                    office.Address      = model.Address;
                    office.PhoneNumber  = model.PhoneNumber;
                    office.MeetingRooms = model.MeetingRooms;
                    office.IsActive     = model.IsActive;

                    database.Entry(office).State = EntityState.Modified;
                    database.SaveChanges();

                    return(RedirectToAction("Index"));
                }
            }

            return(View(model));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var office = database
                             .Offices
                             .Where(o => o.Id == id)
                             .Include(o => o.MeetingRooms)
                             .First();

                if (office == null)
                {
                    return(HttpNotFound());
                }

                var model = new Office();
                model.Id           = office.Id;
                model.Name         = office.Name;
                model.Address      = office.Address;
                model.PhoneNumber  = office.PhoneNumber;
                model.MeetingRooms = office.MeetingRooms;
                model.IsActive     = office.IsActive;

                return(View(model));
            }
        }
        //GET: Reservation/Edit
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }



            using (var databse = new MeetingRoomBookingSystemDbContext())
            {
                var reservation = databse
                                  .Reservations
                                  .Where(r => r.Id == id)
                                  .First();

                if (this.IsUserAuthorizedToEdit(reservation))
                {
                    if (reservation == null)
                    {
                        return(HttpNotFound());
                    }

                    var model = new ReservationViewModel
                    {
                        Id          = reservation.Id,
                        Description = reservation.Description,
                    };
                    return(PartialView(model));
                }

                return(null);
            }
        }
        public ActionResult Edit(MeetingRoomViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var database = new MeetingRoomBookingSystemDbContext())
                {
                    var meetingRoom = database
                                      .MeetingRooms
                                      .Where(m => m.Id == model.Id)
                                      .First();

                    meetingRoom.Name            = model.Name;
                    meetingRoom.Capacity        = model.Capacity;
                    meetingRoom.OfficeId        = model.OfficeId;
                    meetingRoom.HasWhiteboard   = model.HasWhiteboard;
                    meetingRoom.HasWorkstations = model.HasWorkstations;
                    meetingRoom.HasMultimedia   = model.HasMultimedia;

                    database.Entry(meetingRoom).State = EntityState.Modified;
                    database.SaveChanges();

                    return(RedirectToAction("Details", new { id = meetingRoom.Id }));
                }
            }

            return(View(model));
        }
        public ActionResult List()
        {
            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var offices = database
                              .Offices
                              .ToList();

                return(View(offices));
            }
        }
Exemple #8
0
        //  This method will be called after migrating to the latest version.

        //  You can use the DbSet<T>.AddOrUpdate() helper extension method
        //  to avoid creating duplicate seed data. E.g.
        //
        //    context.People.AddOrUpdate(
        //      p => p.FullName,
        //      new Person { FullName = "Andrew Peters" },
        //      new Person { FullName = "Brice Lambson" },
        //      new Person { FullName = "Rowan Miller" }
        //    );
        //


        private void CreateRole(MeetingRoomBookingSystemDbContext context, string roleName)
        {
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(context));

            var result = roleManager.Create(new IdentityRole(roleName));

            if (!result.Succeeded)
            {
                throw new Exception(string.Join(";", result.Errors));
            }
        }
Exemple #9
0
        private void SetRoleToUser(MeetingRoomBookingSystemDbContext context, string email, string role)
        {
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            var user   = context.Users.Where(u => u.Email == email).First();
            var result = userManager.AddToRole(user.Id, role);

            if (!result.Succeeded)
            {
                throw new Exception(string.Join(";", result.Errors));
            }
        }
        //GET: Reservation/Create
        public ActionResult Create()
        {
            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var model = new ReservationViewModel
                {
                    MeetingRooms = database
                                   .MeetingRooms
                                   .OrderBy(m => m.Name)
                                   .ToList()
                };

                return(View(model));
            }
        }
        public ActionResult Register()
        {
            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var model = new RegisterViewModel
                {
                    Offices = database
                              .Offices
                              .OrderBy(o => o.Name)
                              .ToList()
                };

                return(View(model));
            }
        }
        public ActionResult Index()
        {
            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var user = database
                           .Users
                           .First(u => u.UserName == this.User.Identity.Name);


                if (this.User.IsInRole("Admin"))
                {
                    return(RedirectToAction("List"));
                }

                var userOfficeId = user.Office.Id;

                return(RedirectToAction("Details", new { id = userOfficeId }));
            }
        }
        public ActionResult Edit(ReservationViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var database = new MeetingRoomBookingSystemDbContext())
                {
                    var reservation = database
                                      .Reservations
                                      .Where(r => r.Id == model.Id)
                                      .First();

                    reservation.Description = model.Description;

                    database.Entry(reservation).State = EntityState.Modified;
                    database.SaveChanges();

                    return(Content("<script type='text/javascript'>window.close();</script>"));
                }
            }

            return(View(model));
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var reservation = database
                                  .Reservations
                                  .Where(r => r.Id == id)
                                  .First();

                if (reservation == null)
                {
                    return(HttpNotFound());
                }

                return(View(reservation));
            }
        }
        public ActionResult Create(MeetingRoomViewModel model)
        {
            if (ModelState.IsValid)
            {
                using (var database = new MeetingRoomBookingSystemDbContext())
                {
                    var meetingRoom = new MeetingRoom(model.Name,
                                                      model.Capacity,
                                                      model.HasWorkstations,
                                                      model.HasMultimedia,
                                                      model.HasWhiteboard,
                                                      model.OfficeId);

                    database.MeetingRooms.Add(meetingRoom);
                    database.SaveChanges();

                    return(RedirectToAction("Details", new { id = meetingRoom.Id }));
                }
            }

            return(View(model));
        }
        public ActionResult Create(ReservationViewModel model)
        {
            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                if (ModelState.IsValid)
                {
                    var reservations = database
                                       .Reservations
                                       .Where(r => r.MeetingRoomId == model.MeetingRoomId)
                                       .Where(r => r.StartDate < model.StartDate && model.StartDate < r.EndDate)
                                       .ToList();
                    //TO DO
                    //if(reservations
                    //&& r.StartDate.Hour >= model.StartDate.Hour
                    //&& r.StartDate.Minute >)

                    var userId = database
                                 .Users
                                 .Where(u => u.UserName == this.User.Identity.Name)
                                 .First()
                                 .Id;

                    var reservation = new Reservation(userId, model.MeetingRoomId, model.StartDate, model.EndDate, model.Description);

                    database.Reservations.Add(reservation);
                    database.SaveChanges();

                    return(RedirectToAction("Details", new { id = reservation.Id }));
                }

                model.MeetingRooms = database
                                     .MeetingRooms
                                     .OrderBy(m => m.Name)
                                     .ToList();

                return(View(model));
            }
        }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            using (var databse = new MeetingRoomBookingSystemDbContext())
            {
                var meetingRoom = databse
                                  .MeetingRooms
                                  .Where(m => m.Id == id)
                                  .Include(m => m.Office)
                                  .FirstOrDefault();

                if (meetingRoom == null)
                {
                    return(HttpNotFound());
                }

                return(View(meetingRoom));
            }
        }
        //GET: Office/Details
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var office = database
                             .Offices
                             .Where(o => o.Id == id)
                             .Include(o => o.MeetingRooms)
                             .First();

                if (office == null)
                {
                    return(HttpNotFound());
                }

                return(View(office));
            }
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            using (var database = new MeetingRoomBookingSystemDbContext())
            {
                var meetingRoom = database
                                  .MeetingRooms
                                  .Where(m => m.Id == id)
                                  .First();

                if (meetingRoom == null)
                {
                    return(HttpNotFound());
                }

                var model = new MeetingRoomViewModel
                {
                    Id              = meetingRoom.Id,
                    Name            = meetingRoom.Name,
                    Capacity        = meetingRoom.Capacity,
                    HasWhiteboard   = meetingRoom.HasWhiteboard,
                    HasWorkstations = meetingRoom.HasWorkstations,
                    HasMultimedia   = meetingRoom.HasMultimedia,
                    OfficeId        = meetingRoom.OfficeId,
                    Offices         = database
                                      .Offices
                                      .OrderBy(o => o.Name)
                                      .ToList()
                };

                return(View(model));
            }
        }
Exemple #20
0
        private void CreateUser(MeetingRoomBookingSystemDbContext context, string firstName, string lastName, string email, string password, int?officeId, string timeZone)
        {
            // Create User Manager
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));

            // Ser User manager password validator
            userManager.PasswordValidator = new PasswordValidator
            {
                RequiredLength          = 6,
                RequireDigit            = false,
                RequireLowercase        = false,
                RequireNonLetterOrDigit = false,
                RequireUppercase        = false,
            };

            //Create user object
            var admin = new ApplicationUser
            {
                UserName  = email,
                FirstName = firstName,
                LastName  = lastName,
                IsActive  = true,
                Email     = email,
                OfficeId  = null,
                TimeZone  = timeZone
            };

            //Create user
            var result = userManager.Create(admin, password);

            //Validate result
            if (!result.Succeeded)
            {
                throw new Exception(string.Join(";", result.Errors));
            }
        }