Example #1
0
        public async Task <ActionResult <ProjectDTO> > CreateProject([FromBody] ProjectDCO model)
        {
            var category = await _context.Categories.FindAsync(model.CategoryId);

            if (category == null)
            {
                return(await Task.FromResult(new BadRequestResult()));
            }

            var creator = await GetLoggedUser();

            if (creator == null)
            {
                return(await Task.FromResult(new BadRequestResult()));
            }

            var functions = new List <ProjectFunction>();

            foreach (var funId in model.FunctionIds)
            {
                var fun = await _context.Functions.FindAsync(funId);

                if (fun == null)
                {
                    return(await Task.FromResult(new BadRequestResult()));
                }

                var cross = new ProjectFunction
                {
                    Function   = fun,
                    FunctionId = funId
                };

                functions.Add(cross);
            }

            var project = new Project
            {
                Title             = model.Title,
                Category          = category,
                Creator           = creator,
                CreationTimeStamp = DateTime.Now,
                Description       = model.Description,
                Functions         = functions
            };

            await _context.Projects.AddAsync(project);

            await _context.SaveChangesAsync();

            return(await Task.FromResult(new OkObjectResult(new ProjectDTO(project))));
        }
Example #2
0
 public void UpdateProjectFunction(ProjectFunction ProjectFunction)
 {
     _db.Entry(ProjectFunction).State = EntityState.Modified;
     _db.SaveChanges();
 }
Example #3
0
 public void AddProjectFunction(ProjectFunction ProjectFunction)
 {
     _db.Add(ProjectFunction);
     _db.SaveChanges();
 }