public void ReadProjectFromFile(string fileName) { //Create new project using (StreamReader r = new StreamReader($@"{fileName}.json")) { string json = r.ReadToEnd(); List <ProjectFromFile> projectsFromFile = JsonConvert.DeserializeObject <List <ProjectFromFile> >(json); var service = new ProjectCreatorService(); foreach (ProjectFromFile p in projectsFromFile) { var project = new ProjectProfilePage { Title = p.NameOfProject, Description = p.Description, Category = p.Keywords, Goal = p.Demandedfunds, DateOfCreation = DateTime.Parse(p.DateOfCreation), DeadLine = DateTime.Parse(p.Deadline), }; project.Active = true; service.AddProject(p.Creator, project); } } }
public Result <bool> AddProject(string email, ProjectProfilePage project) { var context = new CrowDoDbContext(); var projectExists = context.Set <ProjectProfilePage>().Where(p => p.Title == project.Title).Any(); if (projectExists) { return(new Result <bool> { ErrorCodeId = 1, ErrorCodeString = "Project already exists", Data = false }); } var user = context.Set <User>().Where(c => c.Email == email).SingleOrDefault(); if (user == null) { return(new Result <bool> { ErrorCodeId = 2, ErrorCodeString = "Creator does not exist", Data = false }); } var categoryExists = context.Set <Category>().Where(c => c.Name == project.Category).SingleOrDefault();; if (categoryExists == null) { var newCategory = new Category { Name = project.Category }; newCategory.Projects.Add(project); context.Add(newCategory); } else { categoryExists.Projects.Add(project); context.Update(categoryExists); } project.Creator = user; user.CreatedProjects.Add(project); context.Update(user); context.Add(project); if (context.SaveChanges() < 1) { return(new Result <bool> { ErrorCodeId = 3, ErrorCodeString = "Not Saved", Data = false }); } return(new Result <bool> { ErrorCodeId = 0, ErrorCodeString = "Project created", Data = true }); }
public Result <bool> ProjectCreation(string email, string title, string description, DateTime dateOfCreation, string category, DateTime deadline, decimal goal) { var project = new ProjectProfilePage { Title = title, Description = description, Balance = 0, DateOfCreation = dateOfCreation, DeadLine = deadline, Goal = goal, Category = category }; project.Active = true; AddProject(email, project); { return(new Result <bool> { ErrorCodeId = 0, ErrorCodeString = "Project created", Data = true }); } }