public void InitializePermissions(List <Permission> permissions)
        {
            _dbContext.RolePermissions.RemoveRange(_dbContext.RolePermissions.Where(rp => rp.RoleId == DefaultRoles.Admin.Id));
            _dbContext.SaveChanges();

            _dbContext.Permissions.RemoveRange(_dbContext.Permissions);
            _dbContext.SaveChanges();

            _dbContext.AddRange(permissions);
            GrantAllPermissionsToAdminRole(permissions);
            _dbContext.SaveChanges();
        }
        public override void OnActionExecuted(ActionExecutedContext context)
        {
            var dataModificationRequestTypes = new[] { "post", "put", "delete" };

            if (!dataModificationRequestTypes.Contains(context.HttpContext.Request.Method, StringComparer.InvariantCultureIgnoreCase) ||
                context.Exception != null ||
                !context.ModelState.IsValid)
            {
                return;
            }

            try
            {
                _dbContext.SaveChanges();
            }
            catch (DbUpdateConcurrencyException dbUpdateConcurrencyException)
            {
                dbUpdateConcurrencyException.Entries.Single().Reload();
                _dbContext.SaveChanges();
            }
        }
Example #3
0
        public void AddMessage(MessageDto messageDto)
        {
            Message msg = new Message()
            {
                FirstName     = messageDto.FirstName,
                LastName      = messageDto.LastName,
                Text          = messageDto.Text,
                SendDate      = DateTime.Now,
                UserId        = messageDto.UserId,
                StudentId     = messageDto.StudentId,
                DeansOfficeId = messageDto.DeansOfficeId
            };

            _context.Messages.Add(msg);
            _context.SaveChanges();
        }
Example #4
0
        public void CreateReservationsSchedule(ReservationCreateScheduleDto scheduleModel)
        {
            scheduleModel.FromDate = scheduleModel.FromDate.Date;
            scheduleModel.ToDate   = scheduleModel.ToDate.Date;

            var deansOffice = _context.DeansOffices.FirstOrDefault(d => d.Id == scheduleModel.DeansOfficeId);

            if (deansOffice == null)
            {
                throw new Exception("Wrong DeansOfficeId or doesn't exist.");
            }

            if (scheduleModel.ToDate < scheduleModel.FromDate || scheduleModel.ToHour < scheduleModel.FromHour)
            {
                throw new Exception("Dates and hours 'To' has to be greater than 'From'");
            }

            var now = DateTime.Now;

            if (scheduleModel.FromDate < now || scheduleModel.ToDate < now)
            {
                throw new Exception("Dates 'To' and 'From' has to be greater than DateTime.Now");
            }

            var schedule = new List <Reservation>();

            while (scheduleModel.FromDate <= scheduleModel.ToDate)
            {
                for (int h = scheduleModel.FromHour; h < scheduleModel.ToHour; h++)
                {
                    for (int m = 0; m < 60; m += 15)
                    {
                        var reservationDate = scheduleModel.FromDate.AddHours(h).AddMinutes(m);

                        // Sprawdzenie czy istnieje juz rezerwacji o takim samym DeansOfficeId i Date
                        var exist = _context.Reservations.Any(r => r.DeansOfficeId == scheduleModel.DeansOfficeId && r.Date == reservationDate);
                        if (!exist)
                        {
                            if (scheduleModel.IncludeWeekends)
                            {
                                schedule.Add(new Reservation
                                {
                                    Date          = reservationDate,
                                    DeansOffice   = deansOffice,
                                    DeansOfficeId = scheduleModel.DeansOfficeId,
                                    Id            = new Guid(),
                                    OperationName = string.Empty,
                                    StudentId     = null
                                });
                            }
                            else
                            {
                                if (reservationDate.DayOfWeek != DayOfWeek.Saturday &&
                                    reservationDate.DayOfWeek != DayOfWeek.Sunday)
                                {
                                    schedule.Add(new Reservation
                                    {
                                        Date          = reservationDate,
                                        DeansOffice   = deansOffice,
                                        DeansOfficeId = scheduleModel.DeansOfficeId,
                                        Id            = new Guid(),
                                        OperationName = string.Empty,
                                        StudentId     = null
                                    });
                                }
                            }
                        }
                    }
                }
                scheduleModel.FromDate = scheduleModel.FromDate.AddDays(1);
            }

            _context.Reservations.AddRange(schedule);
            _context.SaveChanges();
        }