public async Task <IActionResult> Edit(string id, [Bind("Name,Description,Location,UserId,ImageUrl,IsDeleted,DeletedOn,Id,CreatedOn,ModifiedOn")] SosSignal sosSignal) { if (id != sosSignal.Id) { return(this.NotFound()); } if (this.ModelState.IsValid) { try { this.db.Update(sosSignal); await this.db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!this.SosSignalExists(sosSignal.Id)) { return(this.NotFound()); } else { throw; } } return(this.RedirectToAction(nameof(this.Index))); } this.ViewData["UserId"] = new SelectList(this.db.Users, "Id", "Id", sosSignal.UserId); return(this.View(sosSignal)); }
public async Task <IActionResult> Create([Bind("Name,Description,Location,UserId,ImageUrl,IsDeleted,DeletedOn,Id,CreatedOn,ModifiedOn")] SosSignal sosSignal) { if (this.ModelState.IsValid) { this.db.Add(sosSignal); await this.db.SaveChangesAsync(); return(this.RedirectToAction(nameof(this.Index))); } this.ViewData["UserId"] = new SelectList(this.db.Users, "Id", "Id", sosSignal.UserId); return(this.View(sosSignal)); }
public async Task CreateAsync(CreateSosSignalInputModel input, string userId) { var extension = Path.GetExtension(input.Image.FileName); if (!this.allowedExtensions.Any(x => extension.EndsWith(x))) { throw new Exception($"Invalid image extension {extension}"); } var imageUrl = await this.cloudinaryService.UploadAsync(this.cloudinary, input.Image); var sosSignal = new SosSignal { UserId = userId, Name = input.Name, Location = input.Location, Description = input.Description, ImageUrl = imageUrl, }; await this.sosSignalsRepository.AddAsync(sosSignal); await this.sosSignalsRepository.SaveChangesAsync(); }