示例#1
0
        public int[] AddProject([FromBody] ProjectOption projOption)
        {
            Project project = projectMngr.CreateProject(projOption);

            int[] redirect = { project.Id, projOption.ProjectCreatorId };
            return(redirect);
        }
示例#2
0
        public Project Update(ProjectOption projOption, int projectId)
        {
            Project project = db.Projects.Find(projectId);

            if (projOption.ProjectName != null)
            {
                project.ProjectName = projOption.ProjectName;
            }
            if (projOption.Description != null)
            {
                project.Description = projOption.Description;
            }
            if (projOption.Progress != null)
            {
                project.Progress = projOption.Progress;
            }
            if (projOption.ProjectCategory != null)
            {
                project.ProjectCategory = projOption.ProjectCategory;
            }
            if (projOption.Start != new DateTime())
            {
                project.Start = projOption.Start;
            }
            if (projOption.End != new DateTime())
            {
                project.End = projOption.End;
            }

            db.SaveChanges();
            return(project);
        }
示例#3
0
        public Project Update(ProjectOption projOption, int projId)
        {
            Project project = db.Projects.Find(projId);

            if (projOption.Title != null)
            {
                project.Title = projOption.Title;
            }
            if (projOption.Description != null)
            {
                project.Description = projOption.Description;
            }
            if (projOption.Category != null)
            {
                project.Category = projOption.Category;
            }
            if (projOption.EndDate != new DateTime())
            {
                project.EndDate = projOption.EndDate;
            }
            if (projOption.Goal > 0)
            {
                project.Goal = projOption.Goal;
            }


            db.SaveChanges();
            return(project);
        }
示例#4
0
        public Project Update(ProjectOption projOption, int projectId)
        {
            Project project = db.Projects.Find(projectId);

            if (projOption.Category != null)
            {
                project.Category = projOption.Category;
            }
            if (projOption.Title != null)
            {
                project.Title = projOption.Title;
            }
            if (projOption.Description != null)
            {
                project.Description = projOption.Description;
            }
            if (projOption.StatusUpdate != null)
            {
                project.StatusUpdate = projOption.StatusUpdate;
            }
            if (projOption.Goal != null)
            {
                project.Goal = projOption.Goal ?? 0;
            }


            db.SaveChanges();
            return(project);
        }
示例#5
0
        public Project Update(ProjectOption projOption, int projectId)
        {
            Project project = db.Projects.Find(projectId);

            if (projOption.Name != null)
            {
                project.Name = projOption.Name;
            }
            if (projOption.Description != null)
            {
                project.Description = projOption.Description;
            }
            if (projOption.StatusUpdate != null)
            {
                project.StatusUpdate = projOption.StatusUpdate;
            }
            if (projOption.BudgetGoal != 0.0)
            {
                project.BudgetGoal = projOption.BudgetGoal;
            }
            if (projOption.Category != null)
            {
                project.Category = projOption.Category;
            }

            db.SaveChanges();
            return(project);
        }
示例#6
0
      public List <Project> GetByCategory([FromRoute] string category)
      {
          ProjectOption projOpt = new ProjectOption
          {
              Category = category
          };

          return(projManager.FindProjectByCategory(projOpt));
      }
示例#7
0
        public IActionResult DeleteProject([FromRoute] int id)
        {
            ProjectOption      projectOption      = projectService.FindProject(id);
            ProjectOptionModel projectOptionModel = new ProjectOptionModel()
            {
                Project = projectOption
            };

            return(View(projectOptionModel));
        }
示例#8
0
        public ProjectOption UpdateProject(int id, ProjectOption projectOption)
        {
            Project project = db.Set <Project>().Where(o => o.Id == id).Include(o => o.ProjectCreator).SingleOrDefault();

            project.Category      = projectOption.Category;
            project.Description   = projectOption.Description;
            project.CurrentBudget = projectOption.CurrentBudget;
            project.TargetBudget  = decimal.Parse(projectOption.TargetBudget);
            project.Title         = projectOption.Title;
            db.SaveChanges();
            return(projectOption);
        }
示例#9
0
 public List <Project> FindProjectByNameAndCategory(ProjectOption projectOption) //string name , Category category
 {
     //return db.Projects
     //    .Where(p =>
     //      (String.IsNullOrEmpty(name) || p.Name.Contains(name)) &&
     //      (category.Equals(Category.None) || p.Category.Equals(category))
     //     ).ToList();
     return(db.Projects
            .Where(p => p.Name == projectOption.Name)
            .Where(p => p.Category == projectOption.Category)
            .ToList());
 }
示例#10
0
        public object GetOption(ProjectOption option)
        {
            object value;

            if (m_options.TryGetValue(option, out value))
            {
                return(value);
            }
            else
            {
                return(null);
            }
        }
示例#11
0
        public IActionResult ViewProject([FromQuery] int projectId)
        {
            ProjectOption             projectOption      = projectService.FindProject(projectId);
            List <MediaOption>        mediaOption        = mediaService.FindAllMediaofProject(projectId);
            List <StatusUpdateOption> statusUpdateOption = statusUpdateService.GetStatusUpdates(projectId);
            ProjectViewModel          projectViewModel   = new ProjectViewModel()
            {
                Project             = projectOption,
                Media               = mediaOption,
                StatusUpdateOptions = statusUpdateOption
            };

            return(View(projectViewModel));
        }
        public IActionResult Category([FromRoute] string category)
        {
            ProjectOption projOpt = new ProjectOption
            {
                Category = category
            };
            CategoryOption catOpt = new CategoryOption
            {
                Category = category,
                Projects = projManager.FindProjectByCategory(projOpt)
            };

            return(View(catOpt));
        }
示例#13
0
      public Project CreateProject([FromForm] ProjectOption projOpt)
      {
          if (projOpt.MyImage != null)
          {
              var uniqueFileName = GetUniqueFileName(projOpt.MyImage.FileName);
              var uploads        = Path.Combine(hostingEnvironment.WebRootPath, "images");
              var filePath       = Path.Combine(uploads, uniqueFileName);
              projOpt.MyImage.CopyTo(new FileStream(filePath, FileMode.Create));


              projOpt.ImagePath = "/images/" + uniqueFileName;
              //to do : Save uniqueFileName  to your db table
          }
          return(projManager.CreateProject(projOpt));
      }
示例#14
0
        public Options(string[] args)
        {
            commandLineApplication = new CommandLineApplication();
            SolutionOption         = commandLineApplication.Option("-s|--solution", "[Mandatory] Solution file (*.sln) path", CommandOptionType.SingleValue);
            ProjectOption          = commandLineApplication.Option("-p|--project", "[Optional] Project name", CommandOptionType.SingleValue);
            ConfigurationOption    = commandLineApplication.Option("-c|--configuration", "[Optional] Solution configuration name (if defined filter only this configuration)", CommandOptionType.SingleValue);
            PlatformOption         = commandLineApplication.Option("-l|--platform", "[Optional] Solution platform name (if defined filter only this patform)", CommandOptionType.SingleValue);
            OrderByPlatformOption  = commandLineApplication.Option("-op|--orderByPlatform", "[Optional] Output ordered by platform", CommandOptionType.NoValue);
            HelpOption             = commandLineApplication.Option("-h|--help", "Show help", CommandOptionType.NoValue);
            var res = commandLineApplication.Execute(args);

            Solution      = SolutionOption.HasValue() ? SolutionOption.Value() : null;
            Project       = ProjectOption.HasValue() ? ProjectOption.Value() : null;
            Configuration = ConfigurationOption.HasValue() ? ConfigurationOption.Value() : null;
            Platform      = PlatformOption.HasValue() ? PlatformOption.Value() : null;
        }
        public bool Updateproject([FromBody] ProjectModel proj)
        {
            ProjectOption pj = new ProjectOption
            {
                Category         = proj.Category,
                ProjectCreatorId = proj.ProjectCreatorId,
                Title            = proj.Title,
                Description      = proj.Description,
                StatusUpdate     = proj.StatusUpdate,
                ProjectId        = proj.ProjectId,
                Goal             = proj.Goal
            };

            projectManager.Update(pj, proj.ProjectId);
            return(true);
        }
        public Project Update(ProjectOption projOption, int projId)
        {
            Project project = db.Projects.Find(projId);

            if (projOption.Title != null)
            {
                project.Title = projOption.Title;
            }
            if (projOption.Description != null)
            {
                project.Description = projOption.Description;
            }
            if (projOption.Category != null)
            {
                project.Category = projOption.Category;
            }
            if (projOption.EndDate != new DateTime())
            {
                project.EndDate = projOption.EndDate;
            }
            if (projOption.Goal > 0)
            {
                project.Goal = projOption.Goal;

                if (project.CurrentAmount < project.Goal)
                {
                    project.State = true;
                }
                else
                {
                    project.State = false;
                }
            }
            if (!string.IsNullOrWhiteSpace(projOption.ThemeImage))
            {
                project.ThemeImage = projOption.ThemeImage;
            }


            db.SaveChanges();

            project.Progress = TrackProgressByProjectId(projId);
            db.Projects.Update(project);
            db.SaveChanges();

            return(project);
        }
        public int AddProject([FromForm] ProjectOption projectOption)
        {
            // do other validations on your model as needed
            if (projectOption.Picture != null)
            {
                var uniqueFileName = GetUniqueFileName(projectOption.Picture.FileName);
                var uploads        = Path.Combine(hostingEnvironment.WebRootPath, "Images");
                var filePath       = Path.Combine(uploads, uniqueFileName);
                projectOption.Picture.CopyTo(new FileStream(filePath, FileMode.Create));


                projectOption.PicturePath = "/Images/" + uniqueFileName;
                //to do : Save uniqueFileName  to your db table
            }

            return(projectManager.CreateProject(projectOption).Id);
        }
示例#18
0
        public int[] EditProject([FromBody] ProjectUpdateOption projOption)
        {
            ProjectOption projectOption = new ProjectOption
            {
                Title            = projOption.Title,
                Description      = projOption.Description,
                Category         = projOption.Category,
                EndDate          = projOption.EndDate,
                Goal             = projOption.Goal,
                ProjectCreatorId = projOption.ProjectCreatorId,
                ThemeImage       = projOption.ThemeImage
            };
            Project project = projectMngr.Update(projectOption, projOption.projId);

            int[] redirect = { project.Id, projOption.ProjectCreatorId };
            return(redirect);
        }
示例#19
0
        public ProjectOption CreateProject(ProjectOption projectOption)
        {
            ProjectCreator projectCreator = db.Set <ProjectCreator>().Find(projectOption.ProjectCreatorId);
            Project        project        = new Project()
            {
                CurrentBudget  = projectOption.CurrentBudget,
                Description    = projectOption.Description,
                Category       = projectOption.Category,
                ProjectCreator = projectCreator,
                TargetBudget   = decimal.Parse(projectOption.TargetBudget),
                Title          = projectOption.Title
            };

            db.Set <Project>().Add(project);
            projectCreator.Projects.Add(project);
            db.SaveChanges();
            return(projectOption);
        }
示例#20
0
        public Project CreateProject(ProjectOption projectOption)   //ok
        {
            IProjectCreatorManager creatorMng = new ProjectCreatorManagment(db);

            Project project = new Project
            {
                PicturePath    = projectOption.PicturePath,
                ProjectCreator = creatorMng.FindProjectCreator(projectOption.ProjectCreatorId),
                Title          = projectOption.Title,
                Description    = projectOption.Description,
                StatusUpdate   = projectOption.StatusUpdate,
                TotalFundings  = 0m,
                Goal           = projectOption.Goal ?? 0,
                Category       = projectOption.Category,
                Active         = true
            };

            db.Projects.Add(project);
            db.SaveChanges();
            return(project);
        }
示例#21
0
        //CRUD
        // create read update delete
        public Project CreateProject(ProjectOption projOption)
        {
            if (projOption.Name == null)
            {
                return(null);
            }
            if (projOption.Description == null)
            {
                return(null);
            }
            if (projOption.DateOfCreation == null)
            {
                return(null);
            }
            if (projOption.StatusUpdate == null)
            {
                return(null);
            }

            //var projectcreator = db.ProjectCreators.Find(projOption.ProjectCreatorId);
            //if (projectcreator == null) return null;

            Project project = new Project
            {
                Name             = projOption.Name,
                Description      = projOption.Description,
                BudgetGoal       = projOption.BudgetGoal,
                DateOfCreation   = projOption.DateOfCreation,
                FileName         = projOption.ImagePath,
                Category         = projOption.Category,
                StatusUpdate     = projOption.StatusUpdate,
                Available        = true,
                ProjectCreatorId = projOption.ProjectCreatorId
            };

            db.Projects.Add(project);
            db.SaveChanges();

            return(project);
        }
示例#22
0
        //CRUD
        // create read update delete

        public Project CreateProject(ProjectOption projOption)
        {
            ProjectCreatorManagement pcMng = new ProjectCreatorManagement(db);
            Project project = new Project
            {
                ProjectCreator = pcMng.FindProjecCreatortById(projOption.ProjectCreatorId),
                Title          = projOption.Title,
                Description    = projOption.Description,
                Category       = projOption.Category,
                EndDate        = projOption.EndDate,
                Goal           = projOption.Goal,
                Progress       = 0,
                StartDate      = DateTime.Now,
                State          = true,
                CurrentAmount  = 0
            };

            db.Projects.Add(project);
            db.SaveChanges();

            return(project);
        }
示例#23
0
 public object Merge(ProjectOption option, object thisValue, object parentValue)
 {
     return(InternalMerge(option, m_options, thisValue, parentValue));
 }
示例#24
0
 public string ValueToString(ProjectOption option, object value)
 {
     return(InternalValueToString(option, m_options, value));
 }
示例#25
0
 public object ParseValue(ProjectOption option, string value)
 {
     return(InternalParseValue(option, m_options, value));
 }
示例#26
0
 public string ValueToString(ProjectOption option, object value)
 {
     return(s_options.ValueToString(option, value));
 }
示例#27
0
 public bool AddOption(ProjectOption option, object value)
 {
     m_options.Add(option, value);
     return(true);
 }
 [HttpPost("")]  //ok
 public Project PostProject(ProjectOption projectOption)
 {
     return(projMangr.CreateProject(projectOption));
 }
示例#29
0
 public Project PutProject(int id, [FromBody] ProjectOption projOpt)
 {
     return(projMangr.Update(projOpt, id));
 }
示例#30
0
 public ProjectInfoProvider(IOptions <ProjectOption> projectOptions)
 {
     _projectOptions = projectOptions.Value;
 }