public DTOs.ManuscriptScreeningDTO GetManuscriptScreeningDefaultDTO() { DTOs.ManuscriptScreeningDTO manuscriptDTO = new DTOs.ManuscriptScreeningDTO(); manuscriptDTO.ErrorCategoriesList = _manuscriptDBRepositoryReadSide.GetErrorCategoryList(); return(manuscriptDTO); }
public DTOs.ManuscriptScreeningDTO GetManuscriptScreeningDTO(int manuscriptID) { DTOs.ManuscriptScreeningDTO manuscriptDTO = GetManuscriptScreeningDefaultDTO(); manuscriptDTO.Manuscript = _manuscriptDBRepositoryReadSide.GetManuscriptByID(manuscriptID); manuscriptDTO.OtherAuthors = _manuscriptDBRepositoryReadSide.GetOtherAuthors(manuscriptID); manuscriptDTO.manuscriptErrorCategoryList = _manuscriptDBRepositoryReadSide.GetManuscriptErrorCategoryList(manuscriptID); return(manuscriptDTO); }
public bool SaveManuscriptScreening(DTOs.ManuscriptScreeningDTO manuscriptScreeningDTO, IDictionary <string, string> dataErrors) { if (_manuscriptValidations == null) { InitManuscriptValidations(); _manuscriptValidations.Validate_MSID(manuscriptScreeningDTO.Manuscript, dataErrors); if (dataErrors.Count > 0) { return(false); } } //set system managed attributes //set starttime as system time for add of Manuscript if (manuscriptScreeningDTO.Manuscript.ID == 0) { manuscriptScreeningDTO.Manuscript.StartDate = System.DateTime.Now; } //Set Quality user id if role is quality if (manuscriptScreeningDTO.Manuscript.RoleID == 2)//todo: set constants for roles { manuscriptScreeningDTO.Manuscript.QualityUserID = manuscriptScreeningDTO.CurrentUserID; } else { manuscriptScreeningDTO.Manuscript.UserID = manuscriptScreeningDTO.CurrentUserID; } //if a revision occurs, add the same manuscript as new manuscript with a parent if (manuscriptScreeningDTO.AddedNewRevision == true) { manuscriptScreeningDTO.Manuscript.ParentManuscriptID = manuscriptScreeningDTO.Manuscript.ID; manuscriptScreeningDTO.Manuscript.ID = 0; //also each related details will be added, for new revised manuscript for (int counter = 0; counter < manuscriptScreeningDTO.OtherAuthors.Count; counter++) { manuscriptScreeningDTO.OtherAuthors[counter].ID = 0; } for (int counter = 0; counter < manuscriptScreeningDTO.manuscriptErrorCategoryList.Count; counter++) { manuscriptScreeningDTO.manuscriptErrorCategoryList[counter].ID = 0; } } //set what to save for manuscript screening manuscriptScreeningDTO.HasToSaveManuscript = true; manuscriptScreeningDTO.HasToSaveOtherAuthors = true; manuscriptScreeningDTO.HasToSaveErrorCategoriesList = true; ManuscriptScreeningUnitOfWork _manuscriptScreeningUnitOfWork = null; try { _manuscriptScreeningUnitOfWork = new ManuscriptScreeningUnitOfWork(_ConStringWrite); _manuscriptScreeningUnitOfWork.manuscriptScreeningDTO = manuscriptScreeningDTO; _manuscriptScreeningUnitOfWork.SaveManuscriptScreening(); _manuscriptScreeningUnitOfWork.SaveChanges();//todo:change this function to update ids and save as seperate commit return(true); } //exception will be raised up in the call stack finally { if (_manuscriptScreeningUnitOfWork != null) { _manuscriptScreeningUnitOfWork.Dispose(); } } }