public IActionResult RateVolunteer(RateVolunteerViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            var voe = _db.VolunteersOnEvent
                      .Include(ve => ve.Event)
                      .FirstOrDefault(ve => ve.VolunteerOnEventId == vm.VolunteerOnEventId);

            if (voe == null)
            {
                return(BadRequest(ErrorMessagesProvider.VolunteerOnEventErrors.VolunteerOnEventNotExists));
            }

            if (!voe.Event.CanModify())
            {
                return(BadRequest());
            }

            voe.OpinionAboutVolunteer = vm.RateContent;

            _db.VolunteersOnEvent.Update(voe);
            _db.SaveChanges();

            return(RedirectToAction("PastEventDetails", new { eventId = voe.EventId }));
        }
        public IActionResult PersonalData(UserViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            var volunteer = LoggedUser as Volunteer;

            volunteer.Update(vm.PhoneNumber, vm.City, vm.Street, vm.BuildingNumber, vm.ApartmentNumber, vm.PostalCode);

            _db.AppUsers.Update(volunteer);
            _db.SaveChanges();

            return(RedirectToAction());
        }
Example #3
0
        public ActionResult Delete(string path)
        {
            var nodeId    = NodeHelper.GetNodeIdFromPath(path);
            var imageName = NodeHelper.GetNameFromPath(path);
            var m         = db.Media.SingleOrDefault(e => e.NaviNode_Id == nodeId && e.Title.Equals(imageName, StringComparison.InvariantCultureIgnoreCase));

            if (m != null)
            {
                db.Media.Remove(m);
                db.SaveChanges();
            }

            return(Json(new
            {
                status = "success"
            }));
        }
Example #4
0
        private void AddLanguageIfNotExists(ApplicationLanguage language)
        {
            if (_context.Languages.Any(l => l.TenantId == language.TenantId && l.Name == language.Name))
            {
                return;
            }

            _context.Languages.Add(language);

            _context.SaveChanges();
        }
Example #5
0
        protected void Delete_Container(object sender, EventArgs e)
        {
            var ContainerID = Int32.Parse(containerid.Value);
            var db          = new CMSDbContext();
            IQueryable <ContainerData> query = db.ContainerDataList;

            query = query.Where(p => p.ContainerID == ContainerID);
            if (query.Count() != 0)
            {
                db.Entry(query.First()).State = EntityState.Deleted;
                db.SaveChanges();
                Response.Redirect("ListContainer");
            }
        }
        protected void Add_Container(object sender, EventArgs e)
        {
            var ContainerData = new ContainerData
            {
                Type      = typeid.Value,
                LotNumber = lotnumberid.Value,
                Size      = sizeid.Value,
                UsedSize  = usedsizeid.Value,
                Status    = statusid.Value,
            };

            var db = new CMSDbContext();

            db.ContainerDataList.Add(ContainerData);
            db.SaveChanges();
            Response.Redirect("ListContainer");
        }
        protected void Update_Container(object sender, EventArgs e)
        {
            var ContainerData = new ContainerData
            {
                ContainerID = Int32.Parse(containerid.Value),
                Type        = typeid.Value,
                LotNumber   = lotnumberid.Value,
                Size        = sizeid.Value,
                UsedSize    = usedsizeid.Value,
                Status      = statusid.Value,
            };

            var db = new CMSDbContext();

            db.Entry(ContainerData).State = EntityState.Modified;
            db.SaveChanges();
            Response.Redirect("ListContainer");
        }
Example #8
0
        public IActionResult AddVolunteerToEvent(int eventId)
        {
            var choosenEvent = _db.Events.Find(eventId);

            if (choosenEvent == null)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventNotExists));
            }

            if (!User.IsInRole(Roles.VolunteerRole))
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.OnlyVolunteerCanTakePartInEvent));
            }

            if (choosenEvent.Date <= DateTime.Today)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventDatePassed));
            }

            var volunteerToAdd = LoggedUser as Volunteer;

            if (volunteerToAdd.Points < choosenEvent.RequiredPoints)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.NotEnoughPoints));
            }

            choosenEvent.AddVolunteerToEvent(volunteerToAdd);

            _db.Events.Update(choosenEvent);
            _db.SaveChanges();

            string referrer = Request.Headers["Referer"].ToString();

            if (referrer.Contains("EventDetails"))
            {
                return(RedirectToAction("EventDetails", new { eventId = eventId }));
            }

            return(RedirectToAction("Index"));
        }
 /// <inheritdoc/>
 public void CommitChanges()
 {
     dbContext.SaveChanges();
 }
        public IActionResult CreateEvent(EventViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            if (vm.Date < DateTime.Now)
            {
                ModelState.AddModelError("Date", "Data wydarzenia musi być przyszła");
                return(View(vm));
            }

            var address = new Address
                          (
                vm.City,
                vm.Street,
                vm.BuildingNumber,
                vm.ApartmentNumber,
                vm.PostalCode
                          );

            var existingAddress = _db.Addresses.FirstOrDefault(a =>
                                                               a.City == address.City &&
                                                               a.Street == address.Street &&
                                                               a.BuildingNumber == address.BuildingNumber &&
                                                               a.ApartmentNumber == address.ApartmentNumber &&
                                                               a.PostalCode == address.PostalCode
                                                               );

            if (existingAddress != null)
            {
                address.AddressId = existingAddress.AddressId;
            }

            var eventToAdd = new Event
                             (
                vm.Name,
                vm.Date,
                vm.Description,
                vm.RequiredPoints,
                vm.Tags,
                LoggedUser as Organizer,
                address
                             );

            _db.Events.Add(eventToAdd);
            _db.SaveChanges();

            string relativePath = string.Empty;

            if (vm.FormFile == null)
            {
                relativePath = _formFilesManagement.GetPathToRandomStockImage();
            }
            else
            {
                relativePath = _formFilesManagement.SaveFileToFileSystem(vm.FormFile, eventToAdd.EventId);
            }

            eventToAdd.ImageRelativePath = relativePath;
            _db.SaveChanges();

            return(RedirectToAction("EventsList", "OrganizerPanel"));
        }
        public void GenerateTestData(string person1Id, string person2Id, string person3Id, string person4Id)
        {
            var person1 = peopleService.GetById(person1Id);
            var person2 = peopleService.GetById(person2Id);
            var person3 = peopleService.GetById(person3Id);
            var person4 = peopleService.GetById(person4Id);

            // create courses

            var programmingCourse = new Course("Programming", person1);
            var geographyCourse   = new Course("Geography", person2);

            dbContext.Courses.Add(programmingCourse);
            dbContext.Courses.Add(geographyCourse);

            // create tests

            var geographyTestQuestions = new List <TestQuestion>()
            {
                new TestQuestion(1, $"What's the capital city of Germany?", "Berlin", 3, QuestionType.TextAnswer),
                new TestQuestion(2, $"Which of these cities are located in Czechia? {acd}A{ltd}Praha{acd}B{ltd}Brno{acd}C{ltd}Vienna",
                                 "A,B", 6, QuestionType.MultipleChoice)
            };
            var geographyTest = new CourseTest("Geography of Europe", geographyTestQuestions, 5, endOfYear2021, true)
            {
                Status = TestStatus.Published
            };

            geographyCourse.Tests.Add(geographyTest);

            var geographyQuiz = new CourseTest("Quiz - Czechia",
                                               new List <TestQuestion> {
                new TestQuestion(1, "What's the capital of Czechia?", "Prague", 5, QuestionType.TextAnswer)
            },
                                               1, endOfYear2021, false);

            geographyCourse.Tests.Add(geographyQuiz);

            // --------------------------

            var programmingTestQuestions = new List <TestQuestion> {
                new TestQuestion(1,
                                 $"Is Java language statically typed? {acd}A{ltd}Yes{acd}B{ltd}No",
                                 "A", 1, QuestionType.SingleChoice),
                new TestQuestion(2,
                                 $"Which of these languages support functional programming? {acd}A{ltd}Haskell{acd}B{ltd}F#",
                                 $"A{ald}B", 4, QuestionType.MultipleChoice)
            };
            var programmingTest = new CourseTest("Programming languages test", programmingTestQuestions, 5, endOfYear2021, true)
            {
                Status = TestStatus.Published
            };

            programmingCourse.Tests.Add(programmingTest);

            var dotnetTest = new CourseTest(".NET CLI test",
                                            new List <TestQuestion> {
                new TestQuestion(1, "What command do we use for building .NET Core app from the command line?", "dotnet build", 2, QuestionType.TextAnswer)
            },
                                            2, endOfYear2021, true)
            {
                Status = TestStatus.Published
            };

            programmingCourse.Tests.Add(dotnetTest);

            // create course members

            var person1geographyCourse   = new CourseMember(person1, geographyCourse);
            var person3programmingCourse = new CourseMember(person3, programmingCourse);
            var person4geographyCourse   = new CourseMember(person4, geographyCourse);

            dbContext.CourseMembers.Add(person1geographyCourse);
            dbContext.CourseMembers.Add(person3programmingCourse);
            dbContext.CourseMembers.Add(person4geographyCourse);

            // create enrollment requests

            var person4programmingCourse = new EnrollmentRequest(programmingCourse, person4);

            dbContext.EnrollmentRequests.Add(person4programmingCourse);

            // create posts

            dbContext.Posts.Add(new ForumPost("Hello everyone, welcome to Programming course!", person1, programmingCourse));

            // create grades

            dbContext.Grades.Add(new Grade(1, "", "Activity 20.6.", 1, person1geographyCourse));
            dbContext.Grades.Add(new Grade(1, "", "Points for activity", 1, person3programmingCourse));

            // create test submissions

            var submittedAnswers1 = new List <TestSubmissionAnswer>
            {
                new TestSubmissionAnswer(geographyTestQuestions[0], "Berlin"),
                new TestSubmissionAnswer(geographyTestQuestions[1], $"A{ald}B{ald}C")
            };
            var geographyTestPerson1 = new TestSubmission(geographyTest, person1geographyCourse, submittedAnswers1)
            {
                IsSubmitted = true, SubmittedDateTime = DateTime.UtcNow
            };

            var submittedAnswers4 = new List <TestSubmissionAnswer>
            {
                new TestSubmissionAnswer(geographyTestQuestions[0], "Hamburg"),
                new TestSubmissionAnswer(geographyTestQuestions[1], $"A{ald}B{ald}")
            };
            var geographyTestPerson4 = new TestSubmission(geographyTest, person4geographyCourse, submittedAnswers4)
            {
                IsSubmitted = true, SubmittedDateTime = DateTime.UtcNow
            };

            var submittedAnswers31 = new List <TestSubmissionAnswer>
            {
                new TestSubmissionAnswer(programmingTestQuestions[0], "B"),
                new TestSubmissionAnswer(programmingTestQuestions[1], $"A{ald}B")
            };
            var programmingTestPerson3 = new TestSubmission(programmingTest, person3programmingCourse, submittedAnswers31)
            {
                IsSubmitted = true, SubmittedDateTime = DateTime.UtcNow
            };

            var submittedAnswers32 = new List <TestSubmissionAnswer>
            {
                new TestSubmissionAnswer(dotnetTest.Questions.First(), "F5 in Visual Studio")
                {
                    Comment = "The question was about the build from command line."
                }
            };
            var dotnetTestPerson3 = new TestSubmission(dotnetTest, person3programmingCourse, submittedAnswers32)
            {
                IsSubmitted = true, IsReviewed = true
            };

            var allSubmissions = new List <TestSubmission> {
                geographyTestPerson1, geographyTestPerson4, programmingTestPerson3, dotnetTestPerson3
            };

            allSubmissions.ForEach(submission => testSubmissionEvaluator.Evaluate(submission));

            dbContext.TestSubmissions.AddRange(allSubmissions);

            // save the changes

            dbContext.SaveChanges();
        }
Example #12
0
        private void CreateUserAndRoles()
        {
            //Admin role for tenancy owner

            var adminRoleForTenancyOwner = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Admin");

            if (adminRoleForTenancyOwner == null)
            {
                adminRoleForTenancyOwner = _context.Roles.Add(new Role {
                    Name = "Admin", DisplayName = "Admin", IsStatic = true
                });
                _context.SaveChanges();
            }

            //Admin user for tenancy owner

            var adminUserForTenancyOwner = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin");

            if (adminUserForTenancyOwner == null)
            {
                adminUserForTenancyOwner = _context.Users.Add(
                    new User
                {
                    TenantId         = null,
                    UserName         = "******",
                    Name             = "System",
                    Surname          = "Administrator",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    Password         = "******" //123qwe
                });

                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(adminUserForTenancyOwner.Id, adminRoleForTenancyOwner.Id));

                _context.SaveChanges();
            }

            //Default tenant

            var defaultTenant = _context.Tenants.FirstOrDefault(t => t.TenancyName == "Default");

            if (defaultTenant == null)
            {
                defaultTenant = _context.Tenants.Add(new Tenant {
                    TenancyName = "Default", Name = "Default"
                });
                _context.SaveChanges();
            }

            //Admin role for 'Default' tenant

            var adminRoleForDefaultTenant = _context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "Admin");

            if (adminRoleForDefaultTenant == null)
            {
                adminRoleForDefaultTenant = _context.Roles.Add(new Role {
                    TenantId = defaultTenant.Id, Name = "Admin", DisplayName = "Admin", IsStatic = true
                });
                _context.SaveChanges();
            }

            //Admin for 'Default' tenant

            var adminUserForDefaultTenant = _context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "admin");

            if (adminUserForDefaultTenant == null)
            {
                adminUserForDefaultTenant = _context.Users.Add(
                    new User
                {
                    TenantId         = defaultTenant.Id,
                    UserName         = "******",
                    Name             = "System",
                    Surname          = "Administrator",
                    EmailAddress     = "*****@*****.**",
                    IsEmailConfirmed = true,
                    Password         = "******" //123qwe
                });
                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id));
                _context.SaveChanges();
            }
        }
Example #13
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            if (ModelState.IsValid)
            {
                var user = new IdentityUser {
                    UserName = Input.Email, Email = Input.Email
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    Address address = new Address(Input.City, Input.Street, Input.BuildingNumber, Input.ApartmentNumber, Input.PostalCode);

                    AppUser appUser = null;
                    if (!string.IsNullOrEmpty(Input.PESEL))
                    {
                        appUser = new Models.Volunteer
                                  (
                            user.Id,
                            Input.FirstName,
                            Input.LastName,
                            Input.Email,
                            Input.PhoneNumber,
                            address,
                            Input.PESEL
                                  );
                        await _userManager.AddToRoleAsync(user, Roles.VolunteerRole);
                    }
                    else
                    {
                        appUser = new Models.Organizer
                                  (
                            user.Id,
                            Input.FirstName,
                            Input.LastName,
                            Input.Email,
                            Input.PhoneNumber,
                            address
                                  );
                        await _userManager.AddToRoleAsync(user, Roles.OrganizerRole);
                    }

                    _db.AppUsers.Add(appUser);
                    _db.SaveChanges();

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { userId = user.Id, code = code },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    return(LocalRedirect(returnUrl));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
Example #14
0
 public virtual bool Add(T entity)
 {
     entity.CreateTime = DateTime.Now;
     Entity.Add(entity);
     return(context.SaveChanges() > 0);
 }
        private void CreateUserAndRoles()
        {
            //Admin role for tenancy owner

            var adminRoleForTenancyOwner = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Admin");

            if (adminRoleForTenancyOwner == null)
            {
                adminRoleForTenancyOwner = _context.Roles.Add(new Role {
                    Name = "Admin", DisplayName = "Admin"
                });
                _context.SaveChanges();
            }

            //Admin user for tenancy owner

            var adminUserForTenancyOwner = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin");

            if (adminUserForTenancyOwner == null)
            {
                adminUserForTenancyOwner = _context.Users.Add(
                    new User
                {
                    TenantId          = null,
                    UserName          = "******",
                    Name              = "System",
                    Surname           = "Administrator",
                    EmailAddress      = "*****@*****.**",
                    IsEmailConfirmed  = true,
                    Mobile            = "13606806123",
                    IsMobileConfirmed = true,
                    Password          = "******" //123qwe
                });



                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(adminUserForTenancyOwner.Id, adminRoleForTenancyOwner.Id));

                _context.SaveChanges();
            }

            //Default tenant

            var defaultTenant = _context.Tenants.FirstOrDefault(t => t.TenancyName == "Default");

            if (defaultTenant == null)
            {
                defaultTenant = _context.Tenants.Add(new Tenant {
                    TenancyName = "Default", Name = "Default"
                });
                _context.SaveChanges();
            }

            //Admin role for 'Default' tenant

            var adminRoleForDefaultTenant = _context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "Admin");

            if (adminRoleForDefaultTenant == null)
            {
                adminRoleForDefaultTenant = _context.Roles.Add(new Role {
                    TenantId = defaultTenant.Id, Name = "Admin", DisplayName = "Admin"
                });
                _context.SaveChanges();
            }

            //Admin for 'Default' tenant

            var adminUserForDefaultTenant = _context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "admin");

            if (adminUserForDefaultTenant == null)
            {
                adminUserForDefaultTenant = _context.Users.Add(
                    new User
                {
                    TenantId          = defaultTenant.Id,
                    UserName          = "******",
                    Name              = "System",
                    Surname           = "Administrator",
                    EmailAddress      = "*****@*****.**",
                    IsEmailConfirmed  = true,
                    Mobile            = "13606806123",
                    IsMobileConfirmed = true,
                    Password          = "******" //123qwe
                });
                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id));
                _context.SaveChanges();
            }

            // 插入授权
            var adminRoleForHost = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin);

            if (adminRoleForHost == null)
            {
                adminRoleForHost = _context.Roles.Add(new Role {
                    Name = StaticRoleNames.Host.Admin, DisplayName = StaticRoleNames.Host.Admin, IsStatic = true
                });
                _context.SaveChanges();

                //Grant all tenant permissions
                var permissions = PermissionFinder
                                  .GetAllPermissions(new CMSAuthorizationProvider())
                                  .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host))
                                  .ToList();
                // 获取CMSAuthorizationProvider定义的权限,授权给admin
                var taskPermissions = PermissionFinder.GetAllPermissions(new CMSAuthorizationProvider()).ToList();
                permissions.AddRange(taskPermissions);

                foreach (var permission in permissions)
                {
                    _context.Permissions.Add(
                        new RolePermissionSetting
                    {
                        Name      = permission.Name,
                        IsGranted = true,
                        RoleId    = adminRoleForHost.Id
                    });
                }

                _context.SaveChanges();
            }
        }
Example #16
0
using System.Linq;
using Abp.Authorization.Users;
using Enterprises.CMS.Authorization.Roles;
using Enterprises.CMS.EntityFramework;
using Enterprises.CMS.MultiTenancy;
using Enterprises.CMS.Users;
using Abp.Authorization;
using Enterprise.CMS.Authorization;
using Abp.MultiTenancy;
using Abp.Authorization.Roles;

namespace Enterprises.CMS.Migrations.SeedData
{
    public class DefaultTenantRoleAndUserBuilder
    {
        private readonly CMSDbContext _context;

        public DefaultTenantRoleAndUserBuilder(CMSDbContext context)
        {
            _context = context;
        }

        public void Build()
        {
            CreateUserAndRoles();
        }

        private void CreateUserAndRoles()
        {
            var adminRoleForTenancyOwner = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == "Admin");
            if (adminRoleForTenancyOwner == null)
            {
                adminRoleForTenancyOwner = _context.Roles.Add(new Role { Name = "Admin", DisplayName = "Admin" });
                _context.SaveChanges();
            }

            //Admin user for tenancy owner

            var adminUserForTenancyOwner = _context.Users.FirstOrDefault(u => u.TenantId == null && u.UserName == "admin");
            if (adminUserForTenancyOwner == null)
            {
                adminUserForTenancyOwner = _context.Users.Add(
                    new User
                    {
                        TenantId = null,
                        UserName = "******",
                        Name = "System",
                        Surname = "Administrator",
                        EmailAddress = "*****@*****.**",
                        IsEmailConfirmed = true,
                        Mobile = "13606806123",
                        IsMobileConfirmed = true,
                        Password = "******" //123qwe
                    });



                _context.SaveChanges();

                _context.UserRoles.Add(new UserRole(adminUserForTenancyOwner.Id, adminRoleForTenancyOwner.Id));

                _context.SaveChanges();
            }

            //Default tenant

            var defaultTenant = _context.Tenants.FirstOrDefault(t => t.TenancyName == "Default");
            if (defaultTenant == null)
            {
                defaultTenant = _context.Tenants.Add(new Tenant { TenancyName = "Default", Name = "Default" });
                _context.SaveChanges();
            }

            //Admin role for 'Default' tenant
            //var adminRoleForDefaultTenant = _context.Roles.FirstOrDefault(r => r.TenantId == defaultTenant.Id && r.Name == "Admin");
            //if (adminRoleForDefaultTenant == null)
            //{
            //    adminRoleForDefaultTenant = _context.Roles.Add(new Role { TenantId = defaultTenant.Id, Name = "Admin", DisplayName = "Admin" });
            //    _context.SaveChanges();
            //}

            //Admin for 'Default' tenant

            //var adminUserForDefaultTenant = _context.Users.FirstOrDefault(u => u.TenantId == defaultTenant.Id && u.UserName == "admin");
            //if (adminUserForDefaultTenant == null)
            //{
            //    adminUserForDefaultTenant = _context.Users.Add(
            //        new User
            //        {
            //            TenantId = 1,
            //            UserName = "******",
            //            Name = "System",
            //            Surname = "Administrator",
            //            EmailAddress = "*****@*****.**",
            //            IsEmailConfirmed = true,
            //            Mobile = "13606806123",
            //            IsMobileConfirmed = true,
            //            Password = "******" //123qwe
            //        });
            //    _context.SaveChanges();

            //    _context.UserRoles.Add(new UserRole(adminUserForDefaultTenant.Id, adminRoleForDefaultTenant.Id));
            //    _context.SaveChanges();
            //}

            var adminRoleForHost = _context.Roles.FirstOrDefault(r => r.TenantId == null && r.Name == StaticRoleNames.Host.Admin);
            if (adminRoleForHost == null)
            {
                adminRoleForHost = _context.Roles.Add(new Role { Name = StaticRoleNames.Host.Admin, DisplayName = StaticRoleNames.Host.Admin, IsStatic = true });
                _context.SaveChanges();

                //Grant all tenant permissions
                var permissions = PermissionFinder
                    .GetAllPermissions(new CMSAuthorizationProvider())
                    .Where(p => p.MultiTenancySides.HasFlag(MultiTenancySides.Host))
                    .ToList();
                // 获取CMSAuthorizationProvider定义的权限,授权给admin
                var taskPermissions = PermissionFinder.GetAllPermissions(new CMSAuthorizationProvider()).ToList();
                permissions.AddRange(taskPermissions);

                foreach (var permission in permissions)
                {
                    _context.Permissions.Add(
                        new RolePermissionSetting
                        {
                            Name = permission.Name,
                            IsGranted = true,
                            RoleId = adminRoleForHost.Id
                        });
                }

                _context.SaveChanges();
            }
        }
    }
}
 public void Save(PersistKey persistKey)
 {
     _dbContext.Set <PersistKey>().Add(persistKey);
     _dbContext.SaveChanges();
 }
        public IActionResult UpdateEvent(EventViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            if (vm.Date < DateTime.Now)
            {
                ModelState.AddModelError("Date", "Data wydarzenia musi być przyszła");
                return(View(vm));
            }

            var eventToUpdate = _db.Events.Include(e => e.Address).FirstOrDefault(e => e.EventId == vm.EventId);

            if (eventToUpdate == null)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventNotExists));
            }

            if (eventToUpdate.Date < DateTime.Now.AddMinutes(1))
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventDatePassed));
            }

            Address address = null;

            if (!(eventToUpdate.Address.City == vm.City && eventToUpdate.Address.Street == vm.Street && eventToUpdate.Address.BuildingNumber == vm.BuildingNumber && eventToUpdate.Address.ApartmentNumber == vm.ApartmentNumber && eventToUpdate.Address.PostalCode == vm.PostalCode))
            {
                address = new Address
                          (
                    vm.City,
                    vm.Street,
                    vm.BuildingNumber,
                    vm.ApartmentNumber,
                    vm.PostalCode
                          );

                var existingAddress = _db.Addresses.FirstOrDefault(a =>
                                                                   a.City == address.City &&
                                                                   a.Street == address.Street &&
                                                                   a.BuildingNumber == address.BuildingNumber &&
                                                                   a.ApartmentNumber == address.ApartmentNumber &&
                                                                   a.PostalCode == address.PostalCode
                                                                   );

                if (existingAddress != null)
                {
                    address = existingAddress;
                }
            }

            string relativePath = eventToUpdate.ImageRelativePath;

            if (vm.FormFile != null)
            {
                try
                {
                    _formFilesManagement.DeleteWholeEventFolder(vm.EventId);
                }
                catch (DirectoryNotFoundException) { } // stock files

                relativePath = _formFilesManagement.SaveFileToFileSystem(vm.FormFile, vm.EventId);
            }

            eventToUpdate.UpdateEvent(vm.Name, vm.Date, vm.Description, vm.RequiredPoints, vm.Tags, address, relativePath);
            _db.Events.Update(eventToUpdate);
            _db.SaveChanges();

            return(RedirectToAction("EventsList"));
        }
Example #19
0
 public virtual void Commit()
 {
     cmsDbContext.SaveChanges();
 }
Example #20
0
 public void Add(T entity)
 {
     context.Add(entity);
     context.SaveChanges();
 }