public async Task <IHttpActionResult> PutSalonImage(int id, SalonImageForDelete salonImage) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != salonImage.ImageID) { return(BadRequest()); } SalonImage imageFromDb = await db.SalonImages.FindAsync(id); if (salonImage.ForDelete) { imageFromDb.IsDeleted = true; imageFromDb.DeleteBy = salonImage.Username; imageFromDb.DeletedDate = DateTime.Now; } else { imageFromDb.IsMain = true; SalonImage lastMain = await db.SalonImages.Where(x => x.SalonID == imageFromDb.SalonID && x.IsMain).FirstOrDefaultAsync(); if (lastMain != null) { lastMain.IsMain = false; db.Entry(lastMain).State = EntityState.Modified; } } db.Entry(imageFromDb).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SalonImageExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IHttpActionResult> PostSalonImage(SalonImage salonImage) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.SalonImages.Add(salonImage); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = salonImage.ImageID }, salonImage)); }
public async Task <IHttpActionResult> DeleteSalonImage(int id) { SalonImage salonImage = await db.SalonImages.FindAsync(id); if (salonImage == null) { return(NotFound()); } db.SalonImages.Remove(salonImage); await db.SaveChangesAsync(); return(Ok(salonImage)); }