public async Task <IActionResult> PostCreate()
        {
            if (!ModelState.IsValid)
            {
                return(View(ProjectViewModel));
            }
            var project = ProjectViewModel.Project;

            // get the selected types ids
            string typesList = "";

            typesList += ProjectViewModel.TypesList;
            if (typesList.Length > 0)
            {
                var projectTypesIds = typesList.Split(",");
                // Insert relations to ProjectsType table
                foreach (var id in projectTypesIds)
                {
                    var projectsType = new ProjectsType()
                    {
                        ProjectId     = ProjectViewModel.Project.Id,
                        ProjectTypeId = long.Parse(id)
                    };
                    project.ProjectsTypes.Add(projectsType);
                }
            }

            await _context.Projects.AddAsync(project);

            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> PostEdit()
        {
            if (!ModelState.IsValid)
            {
                return(View(ProjectViewModel));
            }
            var project = ProjectViewModel.Project;

            var projectInDb = await _context.Projects.Include(p => p.ProjectsTypes).SingleOrDefaultAsync(p => p.Id == project.Id);

            if (projectInDb == null)
            {
                return(NotFound());
            }

            // update changes
            projectInDb.Name       = project.Name;
            projectInDb.CustomerId = project.CustomerId;

            // remove the old types
            projectInDb.ProjectsTypes.Clear();

            // get the selected types ids
            string typesList = "";

            typesList += ProjectViewModel.TypesList;
            if (typesList.Length > 0)
            {
                var projectTypesIds = typesList.Split(",");
                // Insert relations to ProjectsType table
                foreach (var id in projectTypesIds)
                {
                    var projectsType = new ProjectsType()
                    {
                        ProjectId     = ProjectViewModel.Project.Id,
                        ProjectTypeId = long.Parse(id)
                    };
                    projectInDb.ProjectsTypes.Add(projectsType);
                }
            }
            await _context.SaveChangesAsync();

            return(RedirectToAction("Get", new { id = projectInDb.Id }));
        }