示例#1
0
        public CreateArticleResponse SendRequestArticle(SendRequestProperties properties)
        {
            AcademicProductivity article = _unitOfWork.ArticleRepository.FindFirstOrDefault(t => t.Title == properties.TitleProductivity && t.Issn == properties.IssnProductivity);

            if (article == null)
            {
                return(new CreateArticleResponse()
                {
                    Menssage = $"El articulo que desea enviar al comite no existe"
                });
            }
            else
            {
                Request request = _unitOfWork.RequestRepository.FindFirstOrDefault(t => t.Productivity.Title == properties.TitleProductivity);
                if (request == null)
                {
                    Request newRequest = new Request(article);
                    newRequest.SendRequest();
                    _unitOfWork.RequestRepository.Add(newRequest);
                    _unitOfWork.Commit();
                    return(new CreateArticleResponse()
                    {
                        Menssage = $"La solicitud de la productividad {properties.TitleProductivity} fue enviada con exito, su puntaje estimado es {newRequest.EstimatedPoints}."
                    });
                }
                else
                {
                    return(new CreateArticleResponse()
                    {
                        Menssage = $"No se pudo el envio de la solicitud porque ya realizo una solicitud de esa productividad"
                    });
                }
            }
        }
示例#2
0
        public CreateEventResponse Execute(CreateEventRequest request)
        {
            Teacher teacher = _unitOfWork.TeacherRepository.FindFirstOrDefault(t => t.DocumentId == request.DocumentTeacher);

            if (teacher == null)
            {
                return(new CreateEventResponse()
                {
                    Menssage = $"El docente no existe"
                });
            }
            else
            {
                AcademicProductivity soft = _unitOfWork.EventRepository.FindFirstOrDefault(t => t.Title == request.Title);
                if (soft == null)
                {
                    Event newEvent = new Event();
                    newEvent.NumberOfAuthors = request.NumberOfAuthors;
                    newEvent.Title           = request.Title;
                    newEvent.Credit          = request.Credit;
                    newEvent.Title           = request.Title;
                    newEvent.Memories        = request.Memories;
                    newEvent.Languaje        = request.Languaje;
                    newEvent.Issn            = request.Issn;
                    newEvent.Isbn            = request.Isbn;
                    newEvent.EventDate       = request.EventDate;
                    newEvent.EventPlace      = request.EventPlace;
                    newEvent.EventWeb        = request.EventWeb;
                    newEvent.EventType       = request.EventType;
                    _unitOfWork.EventRepository.Add(newEvent);
                    _unitOfWork.Commit();
                    return(new CreateEventResponse()
                    {
                        Menssage = "Event registado con exito"
                    });
                }
                else
                {
                    return(new CreateEventResponse()
                    {
                        Menssage = "No se pudo registrar el Event"
                    });
                }
            }
        }
示例#3
0
        public CreateArticleResponse Execute(ArticleRequest request)
        {
            Teacher teacher = _unitOfWork.TeacherRepository.FindFirstOrDefault(t => t.DocumentId == request.DocumentTeacher);

            if (teacher == null)
            {
                return(new CreateArticleResponse()
                {
                    Menssage = $"El docente no existe"
                });
            }
            else
            {
                AcademicProductivity article = _unitOfWork.ArticleRepository.FindFirstOrDefault(t => t.Title == request.Title && t.Issn == request.Issn);
                if (article == null)
                {
                    Article newArticle = new Article();
                    newArticle.Title           = request.Title;
                    newArticle.Credit          = request.Credit;
                    newArticle.Issn            = request.Issn;
                    newArticle.JournalType     = request.JournalType;
                    newArticle.JournalName     = request.JournalName;
                    newArticle.ArticleType     = request.ArticleType;
                    newArticle.Language        = request.Language;
                    newArticle.NumberOfAuthors = request.NumberOfAuthors;
                    teacher.AddAcademicProductivities(newArticle);
                    _unitOfWork.ArticleRepository.Add(newArticle);
                    _unitOfWork.Commit();
                    return(new CreateArticleResponse()
                    {
                        Menssage = $"El profesor {teacher.Name} creo con exito el articulo {newArticle.Title}."
                    });
                }
                else
                {
                    return(new CreateArticleResponse()
                    {
                        Menssage = $"No se pudo completar el registro porque un articulo igual ya esta registrado"
                    });
                }
            }
        }
示例#4
0
        public CreateBookResponse CreateBook(CreateBookRequest request)
        {
            Teacher teacher = _unitOfWork.TeacherRepository.FindFirstOrDefault(t => t.DocumentId == request.DocumentTeacher);

            if (teacher == null)
            {
                return(new CreateBookResponse()
                {
                    Menssage = $"El docente no existe"
                });
            }
            else
            {
                AcademicProductivity book = _unitOfWork.BookRepository.FindFirstOrDefault(t => t.Isbn == request.Isbn);
                if (book == null)
                {
                    Book newBook = new Book();
                    newBook.Isbn            = request.Isbn;
                    newBook.Languaje        = request.Languaje;
                    newBook.NumberOfAuthors = request.NumberOfAuthors;
                    newBook.PublicationDate = request.PublicationDate;
                    newBook.Title           = request.Title;
                    newBook.Credit          = request.Credit;
                    newBook.Editorial       = request.Editorial;
                    newBook.BookType        = request.BookType;
                    teacher.AddAcademicProductivities(newBook);
                    _unitOfWork.BookRepository.Add(newBook);
                    _unitOfWork.Commit();
                    return(new CreateBookResponse()
                    {
                        Menssage = "Libro registado con exito"
                    });
                }
                else
                {
                    return(new CreateBookResponse()
                    {
                        Menssage = "Ya existe una copia registrada de ese libro"
                    });
                }
            }
        }
示例#5
0
        public CreateSoftwareResponse Execute(CreateSoftwareRequest request)
        {
            Teacher teacher = _unitOfWork.TeacherRepository.FindFirstOrDefault(t => t.DocumentId == request.DocumentTeacher);

            if (teacher == null)
            {
                return(new CreateSoftwareResponse()
                {
                    Menssage = $"El docente no existe"
                });
            }
            else
            {
                AcademicProductivity soft = _unitOfWork.SoftwareRepository.FindFirstOrDefault(t => t.Title == request.Title);
                if (soft == null)
                {
                    Software newSoft = new Software();
                    newSoft.NumberOfAuthors = request.NumberOfAuthors;
                    newSoft.Title           = request.Title;
                    newSoft.Credit          = request.Credit;
                    newSoft.Headline        = request.Headline;
                    newSoft.Impact          = request.Impact;
                    _unitOfWork.SoftwareRepository.Add(newSoft);
                    _unitOfWork.Commit();
                    return(new CreateSoftwareResponse()
                    {
                        Menssage = "Software registado con exito"
                    });
                }
                else
                {
                    return(new CreateSoftwareResponse()
                    {
                        Menssage = "No se pudo registrar el software"
                    });
                }
            }
        }