public ActionResult Add() { var addTicketViewModel = new AddIrregularityViewModel { Categories = this.populator.GetCategories() }; return(View(addTicketViewModel)); }
public ActionResult Add(AddIrregularityViewModel irregularity) { if (irregularity != null && ModelState.IsValid) { string latitude = irregularity.Latitude; string longitude = irregularity.Longitude; var dbPosition = positions.GetPositionByLatitudeAndLongitude(latitude, longitude); if (dbPosition == null) { var position = new Position { Latitude = latitude, Longitude = longitude }; positions.Post(position); } dbPosition = positions.GetPositionByLatitudeAndLongitude(latitude, longitude); var dbIrregularity = new Irregularity { Title = irregularity.Title, Description = irregularity.Description, CategoryId = irregularity.CategoryId, PositionId = dbPosition.Id }; if (irregularity.UploadedImage != null) { using (var memory = new MemoryStream()) { irregularity.UploadedImage.InputStream.CopyTo(memory); var content = memory.GetBuffer(); dbIrregularity.Image = new Image { Content = content, FileExtension = irregularity.UploadedImage.FileName.Split(new[] { '.' }).Last() }; } } int dbIrregularityId = irregularities.Add(dbIrregularity); ratings.Rate(dbIrregularityId, 0); } else { throw new InvalidOperationException(); } return(Redirect("/")); }