public async Task <DocumentSubmissionModel> SaveAsync(DocumentSubmissionModel entity)
        {
            var documentSub = await _documentSubDataAccess.SaveAsync(Mapper.Map <DocumentSubmissionDetail>(entity));

            return(new DocumentSubmissionModel {
                DocumentSubmission_ID = documentSub.DocumentSubmission_ID
            });
        }
        public DocumentSubmissionModel Update(DocumentSubmissionModel entity)
        {
            var documentSub = _documentSubDataAccess.Update(Mapper.Map <DocumentSubmissionDetail>(entity));

            return(new DocumentSubmissionModel {
                DocumentSubmission_ID = documentSub.DocumentSubmission_ID
            });
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Save(string id, DocumentSubmissionModel submissionModel)
        {
            submissionModel.AntecedentIdBase64 = submissionModel.AntecedentIdBase64 ?? Enumerable.Empty <string>();

            if (submissionModel.AntecedentIdBase64.Any() && !submissionModel.AntecedentIdBase64.Contains(id))
            {
                logger.LogWarning("Document rejected; The given id is a member of the given antecedents; Origin: {0}", HttpContext.GetRemoteAddress());
                return(BadRequest());
            }

            if (submissionModel.AntecedentIdBase64.Count() > 2)
            {
                logger.LogWarning("Document rejected; More than two antecedents; Origin: {0}", HttpContext.GetRemoteAddress());
                return(BadRequest());
            }

            if (submissionModel.AntecedentIdBase64.Any(_id => _id.FalsifyAsIdentifier()))
            {
                logger.LogWarning("Document rejected; Invalid antecents; Origin: {0}", HttpContext.GetRemoteAddress());
                return(BadRequest());
            }

            submissionModel.Title = submissionModel.Title ?? string.Empty;
            submissionModel.Body  = submissionModel.Body ?? string.Empty;

            submissionModel.Title = submissionModel.Title.Trim();
            submissionModel.Body  = submissionModel.Body.Trim();

            if (submissionModel.Title.Length > inputConfiguration.TitleLengthLimit)
            {
                logger.LogWarning("Document rejected; Title too long; Origin: {0}", HttpContext.GetRemoteAddress());
                return(StatusCode(413));
            }

            if (submissionModel.Body.Length > inputConfiguration.BodyLengthLimit)
            {
                logger.LogWarning("Document rejected; Body too long; Origin: {0}", HttpContext.GetRemoteAddress());
                return(StatusCode(413));
            }

            var antecedantIds = ImmutableArray.CreateRange(submissionModel.AntecedentIdBase64.Select(s => new MD5Sum(WebEncoders.Base64UrlDecode(s))));

            Guid authorId;

            {
                var nameIdentifierClaim = User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier);

                authorId = Guid.Parse(nameIdentifierClaim.Value);
            }

            var submissionId = await databaseService.AddDocumentAsync(authorId, submissionModel.Body, submissionModel.Title, antecedantIds);

            logger.LogInformation("Document saved; Key: {1}; Origin: {0}", HttpContext.GetRemoteAddress(), submissionId.ToString());

            return(RedirectToAction(nameof(GetDocument), new { id = submissionId.ToString() }));
        }
Ejemplo n.º 4
0
 public async Task <HttpResponseMessage> Update(DocumentSubmissionModel data)
 {
     try
     {
         await _documentSubmission.UpdateAsync(data);
     }
     catch (Exception ex)
     {
         Common.MyLogger.Error(ex.Message + ex.StackTrace + ex.InnerException.ToString());
         return(Request.CreateResponse(HttpStatusCode.BadRequest, "Update Error"));
     }
     return(Request.CreateResponse(HttpStatusCode.OK, "Data Updated"));
 }
Ejemplo n.º 5
0
        public async Task <DocumentSubmissionModel> Save(DocumentSubmissionModel data)
        {
            DocumentSubmissionModel objDocsub = new DocumentSubmissionModel();

            try
            {
                return(await _documentSubmission.SaveAsync(data));
            }
            catch (Exception ex)
            {
                Common.MyLogger.Error(ex.Message + ex.StackTrace + ex.InnerException.ToString());
                return(null);
            }
        }
Ejemplo n.º 6
0
        public async Task <JsonResult <List <DocumentSubmissionModel> > > GetDocumentSubmissionData(int category = 0, string studentEmpId = null)
        {
            try
            {
                List <DocumentSubmissionModel> documentSubmissionList = new List <DocumentSubmissionModel>();

                var documentType = await _documentType.GetAllByCategoryAsync(category);

                var record = await _documentSubmission.GetDocumentSubmissionData(studentEmpId);

                foreach (var item in documentType)
                {
                    DocumentSubmissionModel obj = null;
                    obj = record.Find(x => x.DocumentTypeID == item.DocumentTypeID);
                    if (obj == null)
                    {
                        obj                = new DocumentSubmissionModel();
                        obj.CreatedDate    = DateTime.Now;
                        obj.CreatedBy_ID   = 1;
                        obj.DocumentTypeID = item.DocumentTypeID;
                        obj.Enquiry_Id     = Convert.ToInt32(studentEmpId);
                        obj.DocumentType   = item;
                        await _documentSubmission.SaveAsync(obj);
                    }
                }
                if (record.Count == 0)
                {
                    record = await _documentSubmission.GetDocumentSubmissionData(studentEmpId);
                }
                foreach (var item in documentType)
                {
                    DocumentSubmissionModel obj = null;
                    obj = record.Find(x => x.DocumentTypeID == item.DocumentTypeID);
                    documentSubmissionList.Add(obj);
                }
                return(Json(documentSubmissionList));
            }
            catch (Exception ex)
            {
                Common.MyLogger.Error(ex.Message + ex.StackTrace + ex.InnerException.ToString());
                return(null);
            }
        }
 public async Task DeleteAsync(DocumentSubmissionModel entity)
 {
     await _documentSubDataAccess.DeleteAsync(entity.DocumentSubmission_ID);
 }
 public void Delete(DocumentSubmissionModel entity)
 {
     _documentSubDataAccess.Delete(entity.DocumentSubmission_ID);
 }