//Path: /api/Artist/CreateArtist public HttpResponseMessage CreateArtist(CreateArtist createArtistRequest) { // Trace Log File.AppendAllText(SuiteWrapper.traceLogPath, Environment.NewLine + Environment.NewLine); SuiteWrapper.WriteTraceLog("Called 'CreateArtist' with request :" + JsonConvert.SerializeObject(createArtistRequest)); CreateArtistResponse createArtistResponse = new CreateArtistResponse(); string outputMessage = string.Empty; if (!SuiteWrapper.ValidateRequest(createArtistRequest, out outputMessage)) { //Trace Log SuiteWrapper.WriteTraceLog("Exception while validating request for " + JsonConvert.SerializeObject(createArtistRequest) + " is : " + outputMessage); return(Request.CreateResponse(HttpStatusCode.NotAcceptable, outputMessage));; } try { using (PundolesEntities context = new PundolesEntities()) { artist artistObject = new artist(); artistObject.name = createArtistRequest.name; artistObject.description = createArtistRequest.description; artistObject.year_of_birth_c = createArtistRequest.year_of_birth_c; artistObject.year_of_death_c = createArtistRequest.year_of_death_c; artistObject.status = createArtistRequest.status; artistObject.created_date = DateTime.Now; artistObject.modified_date = DateTime.Now; artistObject.createdby_id = createArtistRequest.createdby_id; artistObject.modifiedby_id = createArtistRequest.createdby_id; context.artists.Add(artistObject); context.SaveChanges(); createArtistResponse.id = artistObject.id; createArtistResponse.status = "Success"; SuiteWrapper.WriteTraceLog("user is successfully created with response :" + JsonConvert.SerializeObject(createArtistResponse)); return(Request.CreateResponse(HttpStatusCode.OK, createArtistResponse)); } } catch (Exception ex) { createArtistResponse.id = null; createArtistResponse.status = ex.Message.ToString(); SuiteWrapper.WriteTraceLog("Exception while creating artist is : " + ex.Message.ToString()); return(Request.CreateResponse(HttpStatusCode.InternalServerError, JsonConvert.SerializeObject(createArtistResponse))); } }
public CreateArtistResponse CreateArtist(CreateArtistRequest request) { var response = new CreateArtistResponse(); var artist = new Artist { Name = request.Name }; ThrowExceptionIfArtistIsInvalid(artist); _artistRepository.Add(artist); _uow.Commit(); MvcSiteMapProvider.SiteMaps.ReleaseSiteMap(); response.Artist = artist.ConvertToArtistView(); return(response); }