public void CreateDocumentBL_WithParameters_Ok()
        {
            IDocumentDataAccess documentDataAccess = new DocumentDataAccess();
            IUserDataAccess     userDataAccess     = new UserDataAccess();

            IDocumentBusinessLogic documentBL = new DocumentBusinessLogic(documentDataAccess, userDataAccess);

            Assert.IsNotNull(documentBL);
        }
 public IHttpActionResult Get([FromUri] Guid id)
 {
     try
     {
         Utils.IsAValidToken(Request, AuthorizationBusinessLogic);
         var document = DocumentBusinessLogic.GetDocument(id);
         return(Ok(DocumentModel.ToModel(document)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
 public IHttpActionResult Delete([FromUri] Guid id)
 {
     try
     {
         Utils.IsAValidToken(Request, AuthorizationBusinessLogic);
         DocumentBusinessLogic.DeleteDocument(id);
         AuditLogBussinesLogic.CreateLog("Document", id, Utils.GetUsername(Request), ActionPerformed.DELETE);
         return(Ok("Document deleted"));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
 public IHttpActionResult Get()
 {
     try
     {
         Utils.IsAValidToken(Request, AuthorizationBusinessLogic);
         var userToken = Request.Headers.GetValues("Username").FirstOrDefault();
         var documents = DocumentBusinessLogic.GetDocuments(userToken);
         IList <DocumentModel> documentsModel = DocumentModel.ToModel(documents).ToList();
         return(Ok(documentsModel));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public IHttpActionResult Post([FromBody] DocumentModel documentModel)
        {
            try
            {
                Utils.IsAValidToken(Request, AuthorizationBusinessLogic);
                documentModel.CreatorUser = Utils.GetCreatorUser(Request, UserBusinessLogic);

                DocumentBusinessLogic.AddDocument(documentModel.ToEntity());
                AuditLogBussinesLogic.CreateLog("Document", documentModel.Id, Utils.GetUsername(Request), ActionPerformed.CREATE);
                return(Ok(documentModel));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public IHttpActionResult Put([FromUri] Guid id, [FromBody] DocumentModel documentModel)
        {
            try
            {
                Utils.IsAValidToken(Request, AuthorizationBusinessLogic);

                documentModel.Id = id;

                DocumentBusinessLogic.ModifyDocument(documentModel.ToEntity());
                AuditLogBussinesLogic.CreateLog("Document", documentModel.Id, Utils.GetUsername(Request), ActionPerformed.MODIFY);
                return(Ok("Document Modified"));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public IHttpActionResult Post([FromUri] Guid documentId, [FromUri] int index, [FromBody] ParagraphModel documentPart)
        {
            try
            {
                Utils.IsAValidToken(Request, AuthorizationBusinessLogic);

                var paragraph = documentPart.ToEntity();
                DocumentBusinessLogic.AddDocumentParagraphAt(documentId, index, paragraph);

                AuditLogBussinesLogic.CreateLog("Document", documentId, Utils.GetUsername(Request), ActionPerformed.MODIFY);
                return(Ok(documentPart));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public IHttpActionResult Post([FromUri] Guid documentId, [FromUri] MarginAlign align, [FromBody] MarginModel documentPart)
        {
            try
            {
                Utils.IsAValidToken(Request, AuthorizationBusinessLogic);

                var body = documentPart.ToEntity();
                DocumentBusinessLogic.SetDocumentMargin(documentId, align, body);

                AuditLogBussinesLogic.CreateLog("Document", documentId, Utils.GetUsername(Request), ActionPerformed.MODIFY);
                return(Ok(documentPart));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
        public void IntegrationTest_ExpectedParameters_Ok()
        {
            DocumentDataAccess    documentDA = new DocumentDataAccess();
            UserDataAccess        userDA     = new UserDataAccess();
            DocumentBusinessLogic documentBL = new DocumentBusinessLogic(documentDA, userDA);
            Document document1 = Utils.CreateDocumentForTest();
            Document document2 = Utils.CreateDocumentForTest();

            documentBL.AddDocument(document1);
            documentBL.AddDocument(document2);

            document2.AddDocumentParagraphAtLast(paragraph);
            documentBL.ModifyDocument(document2);

            documentBL.DeleteDocument(document1.Id);

            Document         document2Obtained = documentBL.GetDocument(document2.Id);
            IList <Document> documentsObtained = documentBL.GetDocuments();

            Assert.IsTrue(!documentsObtained.Contains(document1) && documentsObtained.Contains(document2Obtained));
        }
        public void CreateDocumentBL_WithoutParameters_Ok()
        {
            IDocumentBusinessLogic documentBL = new DocumentBusinessLogic();

            Assert.IsNotNull(documentBL);
        }