Ejemplo n.º 1
0
 private UploadHomeWorkResult CheckForHWConditions(Project project, UploadHomeWork model)
 {
     if (project != null)
     {
         if (project.IsHomeWork)
         {
             HomeWork homeWork = project.HomeWork;
             if (homeWork.HasCondition)
             {
                 Condition condition = homeWork.Condition;
                 if (condition.IsBlocked)
                 {
                     return(new UploadHomeWorkResult(false, UploadHomeWorkStatus.AlreadyBloked, "This home work is already blocked"));
                 }
                 else
                 {
                     if (condition.HasRequiredDate)
                     {
                         DateTime date = DateTime.Now;
                         if (date != condition.Until)
                         {
                             return(new UploadHomeWorkResult(false, UploadHomeWorkStatus.AlreadyBloked, "This home work is already blocked"));
                         }
                     }
                 }
                 if (condition.HasRequiredFormat)
                 {
                     if (condition.RequiredFormat == model.Format)
                     {
                         return(new UploadHomeWorkResult(true, UploadHomeWorkStatus.OK, "No errors"));
                     }
                     else
                     {
                         return(new UploadHomeWorkResult(false, UploadHomeWorkStatus.IncorrectFormat, "There is incorect file format"));
                     }
                 }
                 else
                 {
                     return(new UploadHomeWorkResult(true, UploadHomeWorkStatus.OK, "No errors"));
                 }
             }
             else
             {
                 return(new UploadHomeWorkResult(true, UploadHomeWorkStatus.OK, "No errors"));
             }
         }
         else
         {
             return(new UploadHomeWorkResult(false, UploadHomeWorkStatus.IncorrectFormat, "There is incorect project Id"));
         }
     }
     else
     {
         return(new UploadHomeWorkResult(false, UploadHomeWorkStatus.Exception, "Exception"));
     }
 }
Ejemplo n.º 2
0
        public async Task <ActionResult> UploadHomeWork(UploadHomeWork model)
        {
            Project project = await context.Projects.FindAsync(model.ProjectId);

            UploadHomeWorkResult projectValidation = CheckForHWConditions(project, model);

            if (projectValidation.Result)
            {
                string formatedString = FileData.FormatBase64(model.FileBase64Data);
                if (formatedString == "Exception")
                {
                    projectValidation = new UploadHomeWorkResult(false, UploadHomeWorkStatus.Exception, "There is incorect file");
                }
                else
                {
                    FileData file = new FileData();
                    file.Guid   = Guid.NewGuid();
                    file.Name   = model.Name;
                    file.Format = model.Format;
                    byte[] formatedFile = Convert.FromBase64String(formatedString);
                    file.Data                    = formatedFile;
                    project.File                 = file;
                    project.IsUploaded           = true;
                    context.Entry(project).State = EntityState.Modified;
                    context.SaveChanges();
                }
            }
            var json = new JavaScriptSerializer().Serialize(projectValidation);

            return(new ContentResult()
            {
                Content = json,
                ContentType = ApplicationConstants.JSON_TYPE,
                ContentEncoding = Encoding.UTF8
            });
        }