private void AddOrganization()
        {
            _parteiDbContext.Organizations.Add(new Organization
            {
                Name = "Piraten3"
            });

            _parteiDbContext.SaveChanges();
            var orgas = _parteiDbContext.Organizations.ToList();
            var org   = _parteiDbContext.Organizations.Where <Organization>(o => o.Name == "Piraten").First <Organization>();

            org.Members.Add(new Member
            {
                ID       = Guid.NewGuid().ToString(),
                LastName = "Schmidt",
                PreName  = "Moritz"
            });

            _parteiDbContext.SaveChanges();

            org = _parteiDbContext.Organizations.Where <Organization>(o => o.Name == "Piraten").First <Organization>();

            _parteiDbContext.Organizations.Remove(org);

            _parteiDbContext.SaveChanges();

            // Muss null sein, da entfernt..
            org = _parteiDbContext.Organizations.Where <Organization>(o => o.Name == "Piraten").FirstOrDefault <Organization>();
        }
        public IActionResult AddTravelMember(int TravelId)
        {
            var travel = _parteiDbContext.Travels.Single(m => m.TravelId == TravelId);
            var user   = _userManager.GetUserAsync(User).Result;

            user = _parteiDbContext.ApplicationUsers.Include(m => m.Member).Single(a => a.Id.Equals(user.Id));
            var member = _parteiDbContext.Members.Single(m => m.ID.Equals(user.Member.ID));

            travel.TravelMembers.Add(new TravelMember()
            {
                Travel = travel, Member = member
            });
            _parteiDbContext.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> AddMemberAsync(Member member)
        {
            member.ID = Guid.NewGuid().ToString();
            var user = await _userManager.GetUserAsync(User);

            member.OrganizationId = user.OrgranizationId;
            if (!member.IsActiveMember)
            {
                member.ApplicationUser   = null;
                member.ApplicationUserId = null;
            }
            _parteiDbContext.Add(member);
            _parteiDbContext.SaveChanges();

            if (member.IsActiveMember)
            {
                member.ApplicationUser.OrgranizationId = user.OrgranizationId;

                if (member.ApplicationUser == null)
                {
                    return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'."));
                }
                member.ApplicationUser.UserName     = member.ID;
                member.ApplicationUser.PasswordHash = Guid.NewGuid().ToString();
                _parteiDbContext.SaveChanges();

                var userId = await _userManager.GetUserIdAsync(member.ApplicationUser);

                var email = await _userManager.GetEmailAsync(member.ApplicationUser);

                var emailCode = await _userManager.GenerateEmailConfirmationTokenAsync(member.ApplicationUser);

                var passwordCode = await _userManager.GeneratePasswordResetTokenAsync(member.ApplicationUser);

                emailCode    = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(emailCode));
                passwordCode = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(passwordCode));
                var fullUrl = this.Url.Action("SetPassword", "Account", new { userId = userId, emailCode = emailCode, passwordCode = passwordCode }, this.Request.Scheme);

                MailManager mailManager = new MailManager();
                mailManager.SendEmail(
                    "Bestätige deine Registrierung",
                    $"Bitte bestätige deine Registrierung <a href='{HtmlEncoder.Default.Encode(fullUrl)}'>Hier klicken</a>.",
                    email,
                    member.ApplicationUser.UserName
                    );
            }
            return(RedirectToAction("Index"));
        }
예제 #4
0
        public IActionResult AddExternalMember(ExternalMember externalMember, Travel travel)
        {
            externalMember.ID = Guid.NewGuid().ToString();
            _parteiDbContext.Add(externalMember);
            _parteiDbContext.SaveChanges();

            int travelIdreturn = travel.TravelId;

            return(RedirectToAction("Index", new { TravelId = travelIdreturn }));
        }
예제 #5
0
        public async Task <IActionResult> UpdateTravelAsync(TripCreateViewModel tripCreateViewModel)
        {
            _parteiDbContext.Travels.Update(tripCreateViewModel.Travel);
            var travel = _parteiDbContext.Travels.Include(t => t.TravelStops).Include(i => i.Images).Single(t => t.TravelId == tripCreateViewModel.Travel.TravelId);

            _parteiDbContext.TravelStops.RemoveRange(travel.TravelStops);
            tripCreateViewModel.Travel = travel;
            _parteiDbContext.SaveChanges();

            if (HttpContext.Request.Form.Files != null)
            {
                var files = HttpContext.Request.Form.Files;
                List <TravelImage> travelImages = new List <TravelImage>();
                List <Image>       images       = new List <Image>();

                foreach (var file in files)
                {
                    travelImages.Add(new TravelImage()
                    {
                        File = file, FileName = file.FileName
                    });
                    images.Add(new Image()
                    {
                        ImageName     = file.FileName,
                        ImageFileSize = int.Parse(file.Length.ToString()),
                        ImageFileType = file.ContentType,
                    });
                }

                if (files.Count > 0)
                {
                    var result = await BlobManager.AddTravelImagesAsync(travelImages);

                    if (result.Successfull)
                    {
                        for (int i = 0; i < files.Count; i++)
                        {
                            images[i].ImageUrl = ((IList <string>)result.Payload)[i];
                        }
                    }
                    if (tripCreateViewModel.Travel.Images.Count > 0)
                    {
                        tripCreateViewModel.Travel.Images.RemoveRange(tripCreateViewModel.Travel.Images.IndexOf(tripCreateViewModel.Travel.Images.First()), tripCreateViewModel.Travel.Images.Count());
                    }
                    tripCreateViewModel.Travel.Images = images;
                }
                else
                {
                    tripCreateViewModel.Travel.Images = new List <Image>();
                }
            }

            _parteiDbContext.SaveChanges();


            foreach (int stop in tripCreateViewModel.SelectedStops)
            {
                TravelStop travelStop = new TravelStop
                {
                    TravelId = tripCreateViewModel.Travel.TravelId,
                    StopId   = stop,
                };
                _parteiDbContext.Add(travelStop);
            }
            _parteiDbContext.SaveChanges();

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