Example #1
0
        public DTOs.ManuscriptScreeningDTO GetManuscriptScreeningDefaultDTO()
        {
            DTOs.ManuscriptScreeningDTO manuscriptDTO = new DTOs.ManuscriptScreeningDTO();

            manuscriptDTO.ErrorCategoriesList = _manuscriptDBRepositoryReadSide.GetErrorCategoryList();

            return(manuscriptDTO);
        }
Example #2
0
        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);
        }
Example #3
0
        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();
                }
            }
        }