public int CreatePetitionProgressEditModel(Models.Petition.PetitionProgressEditModel model) { using (var context = ApplicationDbContext.Create()) { var progress = new PetitionProgress { Description = model.Description, ParliamentID = model.ParliamentID, RepresentativeID = model.SelectedRepresentativeID, Title = model.Title, NumberOfVotes = model.NumberOfVotes }; if (model.ImageToDo != null) { var fileService = new FileService(); progress.ImageToDoRelativePath = fileService.UploadFile(new List <string> { "PetitionProgress" }, model.ImageToDo.FileName, model.ImageToDo.InputStream); } if (model.ImageDone != null) { var fileService = new FileService(); progress.ImageDoneRelativePath = fileService.UploadFile(new List <string> { "PetitionProgress" }, model.ImageDone.FileName, model.ImageDone.InputStream); } context.PetitionProgresses.Add(progress); context.SaveChanges(); return(progress.PetitionProgressID); } }
public Models.Petition.PetitionProgressEditModel InitializePetitionProgressEditModel(int parliamentId) { var result = new Models.Petition.PetitionProgressEditModel() { ParliamentID = parliamentId }; using (var context = ApplicationDbContext.Create()) { PopulateRepresentativesListForPetitionProgresEditModel(parliamentId, result, context); } return(result); }
public Models.Petition.PetitionProgressEditModel UpdatePetitionProgressEditModel(Models.Petition.PetitionProgressEditModel model) { using (var context = ApplicationDbContext.Create()) { var progress = context.PetitionProgresses.SingleOrDefault(x => x.PetitionProgressID == model.PetitionProgresID); if (progress == null) { return(null); } progress.Description = model.Description; progress.ParliamentID = model.ParliamentID; progress.RepresentativeID = model.SelectedRepresentativeID; progress.Title = model.Title; progress.NumberOfVotes = model.NumberOfVotes; if (model.ImageToDo != null) { var fileService = new FileService(); progress.ImageToDoRelativePath = fileService.UploadFile(new List <string> { "PetitionProgress" }, model.ImageToDo.FileName, model.ImageToDo.InputStream); } if (model.ImageDone != null) { var fileService = new FileService(); progress.ImageDoneRelativePath = fileService.UploadFile(new List <string> { "PetitionProgress" }, model.ImageDone.FileName, model.ImageDone.InputStream); } context.SaveChanges(); } return(GetPetitionProgressEditModel(model.PetitionProgresID)); }
private static void PopulateRepresentativesListForPetitionProgresEditModel(int parliamentId, Models.Petition.PetitionProgressEditModel model, ApplicationDbContext context, int?selectedRepresentative = null) { var configuredRepresentativeIds = context.PetitionProgresses .Where(x => x.ParliamentID == parliamentId) .Select(x => x.RepresentativeID) .ToList(); if (selectedRepresentative.HasValue) { configuredRepresentativeIds.Remove(selectedRepresentative.Value); } model.Representatives = context.Representatives .Where(x => x.ParliamentHouse.ParliamentID == parliamentId) .Where(x => !configuredRepresentativeIds.Contains(x.RepresentativeID)) .ToList() .Select(x => new Models.Petition.RepresentativeModel { ID = x.RepresentativeID, Name = x.DisplayName }) .OrderBy(x => x.Name) .ToList(); model.ParliamentName = context.Parliaments.Single(x => x.ParliamentID == parliamentId).Name; }