public CreateNewMetadataVersionWork(MetadataRepository metadataRepository, long projectId, ProjectMetadataContract data, int userId) : base(metadataRepository.UnitOfWork) { m_metadataRepository = metadataRepository; m_projectId = projectId; m_data = data; m_userId = userId; }
public long CreateNewProjectMetadataVersion(long projectId, ProjectMetadataContract metadata) { try { var newResourceVersion = m_client.Post <long>($"project/{projectId}/metadata", metadata); return(newResourceVersion); } catch (HttpRequestException e) { if (m_logger.IsErrorEnabled()) { m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e); } throw; } }
public IActionResult SaveMetadata([FromQuery] long projectId, [FromBody] SaveMetadataRequest request) { if (request == null) { return(BadRequest()); } var client = GetProjectClient(); var contract = new ProjectMetadataContract { Authors = request.Authors, BiblText = request.BiblText, Copyright = request.Copyright, ManuscriptCountry = request.ManuscriptCountry, ManuscriptExtent = request.ManuscriptExtent, ManuscriptIdno = request.ManuscriptIdno, ManuscriptRepository = request.ManuscriptRepository, ManuscriptSettlement = request.ManuscriptSettlement, NotAfter = request.NotAfter != null ? (DateTime?)new DateTime(request.NotAfter.Value, 1, 1) : null, NotBefore = request.NotBefore != null ? (DateTime?)new DateTime(request.NotBefore.Value, 1, 1) : null, OriginDate = request.OriginDate, PublishDate = request.PublishDate, PublishPlace = request.PublishPlace, PublisherText = request.PublisherText, PublisherEmail = request.PublisherEmail, RelicAbbreviation = request.RelicAbbreviation, SourceAbbreviation = request.SourceAbbreviation, SubTitle = request.SubTitle, Title = request.Title, }; long newResourceVersionId = -1; var unsuccessfulData = new List <string>(); try { newResourceVersionId = client.CreateNewProjectMetadataVersion(projectId, contract); } catch (HttpRequestException) { unsuccessfulData.Add(m_localization.Translate("Metadata", "Admin")); } try { client.SetProjectAuthors(projectId, new IntegerIdListContract { IdList = request.AuthorIdList }); } catch (HttpRequestException) { unsuccessfulData.Add(m_localization.Translate("Authors", "Admin")); } try { client.SetProjectResponsiblePersons(projectId, request.ProjectResponsiblePersonIdList); } catch (HttpRequestException) { unsuccessfulData.Add(m_localization.Translate("ResponsiblePeople", "Admin")); } if (unsuccessfulData.Count > 0) { return(new JsonResult(unsuccessfulData) { StatusCode = (int)HttpStatusCode.BadGateway }); } var response = new SaveMetadataResponse { NewResourceVersionId = newResourceVersionId, LastModificationText = DateTime.Now.ToString(m_localization.GetRequestCulture()), LiteraryOriginalText = LiteraryOriginalTextConverter.GetLiteraryOriginalText(request.ManuscriptCountry, request.ManuscriptSettlement, request.ManuscriptRepository, request.ManuscriptIdno, request.ManuscriptExtent), }; return(Json(response)); }
public long CreateNewProjectMetadataVersion(long projectId, ProjectMetadataContract data) { var resultId = new CreateNewMetadataVersionWork(m_metadataRepository, projectId, data, m_authenticationManager.GetCurrentUserId()).Execute(); return(resultId); }
public long CreateNewProjectMetadataVersion(long projectId, [FromBody] ProjectMetadataContract metadata) { m_authorizationManager.AuthorizeBook(projectId, PermissionFlag.EditProject); return(m_projectMetadataManager.CreateNewProjectMetadataVersion(projectId, metadata)); }
private string GetManuscriptText(ProjectMetadataContract metadata) { return(metadata != null ? $"{metadata.ManuscriptSettlement}, {metadata.ManuscriptRepository}, {metadata.OriginDate}" : null); }
private string GetPublisherText(ProjectMetadataContract metadata) { return(metadata != null ? $"{metadata.PublishPlace}, {metadata.PublishDate}, {metadata.PublisherText}" : null); }
public long CreateNewProjectMetadataVersion(long projectId, [FromBody] ProjectMetadataContract metadata) { return(m_projectMetadataManager.CreateNewProjectMetadataVersion(projectId, metadata)); }
public IActionResult SaveMetadata([FromQuery] long projectId, [FromBody] SaveMetadataRequest request) { if (request == null) { return(BadRequest()); } using (var client = GetRestClient()) { var contract = new ProjectMetadataContract { BiblText = request.BiblText, Copyright = request.Copyright, ManuscriptCountry = request.ManuscriptCountry, ManuscriptExtent = request.ManuscriptExtent, ManuscriptIdno = request.ManuscriptIdno, ManuscriptRepository = request.ManuscriptRepository, ManuscriptSettlement = request.ManuscriptSettlement, NotAfter = request.NotAfter != null ? (DateTime?)new DateTime(request.NotAfter.Value, 1, 1) : null, NotBefore = request.NotBefore != null ? (DateTime?)new DateTime(request.NotBefore.Value, 1, 1) : null, OriginDate = request.OriginDate, PublishDate = request.PublishDate, PublishPlace = request.PublishPlace, PublisherId = request.PublisherId, RelicAbbreviation = request.RelicAbbreviation, SourceAbbreviation = request.SourceAbbreviation, SubTitle = request.SubTitle, Title = request.Title }; long newResourceVersionId = -1; int unsuccessRequestCount = 0; try { newResourceVersionId = client.CreateNewProjectMetadataVersion(projectId, contract); } catch (HttpRequestException) { unsuccessRequestCount++; } try { client.SetProjectAuthors(projectId, new IntegerIdListContract { IdList = request.AuthorIdList }); } catch (HttpRequestException) { unsuccessRequestCount++; } try { client.SetProjectResponsiblePersons(projectId, new IntegerIdListContract { IdList = request.ResponsiblePersonIdList }); } catch (HttpRequestException) { unsuccessRequestCount++; } try { client.SetProjectLiteraryKinds(projectId, new IntegerIdListContract { IdList = request.LiteraryKindIdList }); } catch (HttpRequestException) { unsuccessRequestCount++; } try { client.SetProjectLiteraryGenres(projectId, new IntegerIdListContract { IdList = request.LiteraryGenreIdList }); } catch (HttpRequestException) { unsuccessRequestCount++; } if (unsuccessRequestCount > 0) { return(StatusCode(StatusCodes.Status500InternalServerError)); } var response = new SaveMetadataResponse { NewResourceVersionId = newResourceVersionId, LastModificationText = DateTime.Now.ToString(CultureInfo.CurrentCulture), LiteraryOriginalText = LiteraryOriginalTextConverter.GetLiteraryOriginalText(request.ManuscriptCountry, request.ManuscriptSettlement, request.ManuscriptRepository, request.ManuscriptIdno, request.ManuscriptExtent), }; return(Json(response)); } }