using System.Linq; using Nancy; using Nancy.ModelBinding; using Sony.Filtr.Applications; using Sony.Filtr.Contracts.Entities; using Sony.Filtr.Core.EditorialPlaylists; namespace Sony.Filtr.AdminAPI.Modules.EditorialPlaylist { public class PlaylistImportUsersModule : BaseModule { public PlaylistImportUsersModule(EditorialPlaylistImportManager editorialPlaylistImportManager, ApplicationInstanceManager applicationInstanceManager) : base(applicationInstanceManager) { Get["GetImportUsers", "/{countryCode}/playlists/importusers"] = parameters => { var importUsers = editorialPlaylistImportManager.GetEditorialPlaylistImportUsers(CurrentApplication); return Response.AsJson(importUsers); }; Post["AddImportUser", "/{countryCode}/playlists/importusers"] = parameters => { var importUser = this.Bind(); if (importUser == null) return HttpStatusCode.BadRequest; importUser.ApplicationID = CurrentApplication.ID; importUser = editorialPlaylistImportManager.SaveEditorialPlaylistImportUser(importUser); return Response.AsJson(importUser); }; Get["GetSingleImportUser", "/{countryCode}/playlists/importusers/{id}"] = parameters => { int id; if (!int.TryParse((string)parameters.id, out id)) return HttpStatusCode.BadRequest; var user = editorialPlaylistImportManager.GetEditorialPlaylistImportUser(id); if (user == null) return HttpStatusCode.BadRequest; return Response.AsJson(user); }; Put["UpdateImportUser", "/{countryCode}/playlists/importusers/{id}"] = parameters => { int id; if (!int.TryParse((string)parameters.id, out id)) return HttpStatusCode.BadRequest; var existingUser = editorialPlaylistImportManager.GetEditorialPlaylistImportUser(id); if (existingUser == null) return HttpStatusCode.BadRequest; var importUser = this.Bind(); importUser.ID = existingUser.ID; importUser.ApplicationID = CurrentApplication.ID; importUser = editorialPlaylistImportManager.SaveEditorialPlaylistImportUser(importUser); return Response.AsJson(importUser); }; Delete["DeleteImportUser", "/{countryCode}/playlists/importusers/{id}"] = parameters => { int id; if (!int.TryParse((string)parameters.id, out id)) return HttpStatusCode.BadRequest; var existingUser = editorialPlaylistImportManager.GetEditorialPlaylistImportUser(id); if (existingUser == null) return HttpStatusCode.BadRequest; editorialPlaylistImportManager.DeleteEditorialPlaylistImportUser(existingUser); return HttpStatusCode.NoContent; }; } } }