public async Task <IActionResult> Edit(int id, [Bind("Id,DateTimePosted,DateTimeChanged,ProjectPostDescription,DateTimePlaned,DateTimeStarted,DateTimeDone,HourPrice,TimeEstimate,TotalCostEstimate,TimeActual,MtrCostActual,LabourCostActual,TotalCostActual,ProjectPostStatusId")] ProjectPost projectPost) { if (id != projectPost.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(projectPost); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectPostExists(projectPost.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ProjectPostStatusId"] = new SelectList(_context.Set <ProjectPostStatus>(), "Id", "Id", projectPost.ProjectPostStatusId); return(View(projectPost)); }
public Response SetNewProject(ProjectPost project) { var result = RunInsertJson(project.images); if (result.valid) { var procedure = "sp_project_set"; using (var conn = new MySqlConnection(_connectionString)) { try { conn.Open(); var param = new DynamicParameters(); param.Add("INname", project.name); param.Add("INdescription", project.description); param.Add("INcontent", project.content); param.Add("INurl", project.url); var data = conn.QueryFirstOrDefault <Response>(procedure, param, commandType: System.Data.CommandType.StoredProcedure); return(data); } catch (Exception ex) { throw; } } } else { return(null); } }
public IActionResult PutActivity(int employeeId, int activityId, [FromBody] ProjectPost project) { var emp = _employeeContext.Employees.FirstOrDefault(e => e.Id == employeeId); if (emp == null) { return(NotFound()); } var activity = _employeeContext.Activities.FirstOrDefault(a => a.Id == activityId && a.Employee.Id == employeeId); if (activity == null) { return(NotFound("No activity")); } activity = new Activity() { Project = new Project() { Name = project.Project, DateStart = project.DateStart, DateEnd = project.DateEnd }, ActivityType = project.ActivityType, Role = project.Role }; _employeeContext.SaveChanges(); return(Ok()); }
public async Task <IActionResult> Create([Bind("Id,DateTimePosted,DateTimeChanged,ProjectPostDescription,DateTimePlaned,DateTimeStarted,DateTimeDone,HourPrice,TimeEstimate,TotalCostEstimate,TimeActual,MtrCostActual,LabourCostActual,TotalCostActual,ProjectPostStatusId")] ProjectPost projectPost) { if (ModelState.IsValid) { _context.Add(projectPost); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ProjectPostStatusId"] = new SelectList(_context.Set <ProjectPostStatus>(), "Id", "Id", projectPost.ProjectPostStatusId); return(View(projectPost)); }
public ProjectCrudController() { Post("/api/v1/project/post/new", _ => { var me = UserRepository.Find(CurrentRequest.UserId); var project = ProjectRepository.FindByGuid(GetRequestStr("project_guid")); if (project == null) { return(HttpResponse.Error(HttpStatusCode.NotFound, "Project not found")); } var errors = ValidationProcessor.Process(Request, new IValidatorRule[] { new ShouldHaveParameters(new[] { "project_guid", "title", "content" }), new ExistsInTable("project_guid", "projects", "guid"), new HasPermission(me, project.id, EntityType.Project), }, true); if (errors.Count > 0) { return(HttpResponse.Errors(errors)); } var post = ProjectPost.Create( project, GetRequestStr("title"), GetRequestStr("content") ); return(HttpResponse.Item( "post", new ProjectPostTransformer().Transform(post), HttpStatusCode.Created )); }); Delete("/api/v1/project/post/delete", _ => { var post = ProjectPost.FindBy("guid", GetRequestStr("post_guid")); if (post == null) { return(HttpResponse.Error(HttpStatusCode.NotFound, "Post not found")); } var me = UserRepository.Find(CurrentRequest.UserId); var errors = ValidationProcessor.Process(Request, new IValidatorRule[] { new ShouldHaveParameters(new[] { "post_guid" }), new HasPermission(me, post.project_id, EntityType.Project), }, true); if (errors.Count > 0) { return(HttpResponse.Errors(errors)); } post.Delete(); return(HttpResponse.Item("post", new ProjectPostTransformer().Transform(post))); }); }
public IActionResult SetProject([FromBody] ProjectPost project) { if (!Request.Headers.ContainsKey("Authorization")) { return(Unauthorized()); } var data = _alphahomeService.SetNewProject(project); if (data.valid) { return(new JsonResult(data)); } return(BadRequest(data)); }
public async Task <ApiResult> CreateProject([FromBody] ProjectPost projectPost) { if (!ModelState.IsValid) { return(ApiResult.BadRequest(ModelState.First(e => e.Value.Errors.Any()).Value.Errors.First().ErrorMessage)); } var currentUser = await _userManager.GetUserAsync(User); var project = _projectService.CreateProject(projectPost.ProjectName, projectPost.ProjectDescription, currentUser.Id); var projectModel = _mapper.Map <Core.Models.Projects.Project>(project); return(ApiResult.Success(projectModel)); }
public async Task <object> Create([FromBody] ProjectPost project) { try { project.LastEditedUser = this._userRepo.GetByUsername(AuthenticationController.GetCurrentUsername(this.HttpContext)).Id; project.LastEditedDate = DateTimeOffset.Now; project.LocationCode = this.GetLocation(project.Location.Longtitude, project.Location.Latitude).Id; this._repo.Add(project); return(new { success = true }); } catch (Exception error) { return(new Response(this.Response, new Error(HttpStatusCode.BadRequest, "Kan geen nieuw project aanmaken: " + error.Message))); } }
public async Task <IActionResult> AddProjectPost([Bind("Id,DateTimePosted,DateTimeChanged,ProjectPostDescription," + "DateTimePlaned,DateTimeStarted,DateTimeDone,HourPrice,TimeEstimate,TotalCostEstimate,TimeActual,MtrCostActual,LabourCostActual,TotalCostActual,ProjectPostStatusId")] ProjectPost projectPost) { if (ModelState.IsValid) { var pROLabContext = _context.ProjectPosts .Include(p => p.Status); projectPost.TotalCostEstimate = (projectPost.TimeEstimate * projectPost.HourPrice) + projectPost.MtrCostActual; projectPost.TotalCostActual = (projectPost.TimeActual * projectPost.HourPrice) + projectPost.MtrCostActual; projectPost.LabourCostActual = projectPost.HourPrice * projectPost.TimeActual; _context.Add(projectPost); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ListProjectPosts))); } ViewData["ProjectPostStatusId"] = new SelectList(_context.Set <ProjectPostStatus>(), "Id", "ProjectPostStatusName", projectPost.ProjectPostStatusId); return(View(projectPost)); }
public ProjectPostsController() { Get("/api/v1/all_projects/posts/latest/get", _ => { return(HttpResponse.Item( "posts", new ProjectPostTransformer().Many(ProjectPost.Latest()) )); }); Get("/api/v1/project/posts/get", _ => { var errors = ValidationProcessor.Process(Request, new IValidatorRule[] { new ExistsInTable("project_guid", "projects", "guid"), }); if (errors.Count > 0) { return(HttpResponse.Errors(errors)); } var project = ProjectRepository.FindByGuid(GetRequestStr("project_guid")); return(HttpResponse.Item("posts", new ProjectPostTransformer().Many(project.Posts()))); }); }
public IActionResult AddActivity(int employeeId, [FromBody] ProjectPost project) { var emp = _employeeContext.Employees.FirstOrDefault(e => e.Id == employeeId); if (emp == null) { return(NotFound()); } emp.Activities ??= new List <Activity>(); if (project.DateStart.Date != project.DateEnd.Date) { return(NotFound("Date start and date end should be in one day")); } if (project.DateEnd < project.DateStart) { return(NotFound("Start date cannot be greater than end date")); } // check project.end > projects.start emp.Activities.Add(new Activity() { Project = new Project() { Name = project.Project, DateStart = project.DateStart, DateEnd = project.DateEnd }, ActivityType = project.ActivityType, Role = project.Role }); _employeeContext.SaveChanges(); return(Ok()); }
public async Task <IActionResult> AddShiftDescription(int id, [Bind("Id,DateTimePosted,DateTimeChanged,ProjectPostDescription," + "DateTimePlaned,DateTimeStarted,DateTimeDone,HourPrice,TimeEstimate,TotalCostEstimate,TimeActual,MtrCostActual,LabourCostActual,TotalCostActual,ProjectPostStatusId,ShiftDescription")] ProjectPost projectPost) { if (id != projectPost.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var pROLabContext = _context.ProjectPosts .Include(p => p.Status); projectPost.TotalCostEstimate = (projectPost.TimeEstimate * projectPost.HourPrice) + projectPost.MtrCostActual; projectPost.TotalCostActual = (projectPost.TimeActual * projectPost.HourPrice) + projectPost.MtrCostActual; projectPost.LabourCostActual = projectPost.HourPrice * projectPost.TimeActual; _context.Update(projectPost); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProjectPostExists(projectPost.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(ListProjectPosts))); } ViewData["ProjectPostStatusId"] = new SelectList(_context.Set <ProjectPostStatus>(), "Id", "ProjectPostStatusName", projectPost.ProjectPostStatusId); return(View(projectPost)); }
public async Task <Response> Put([FromBody] ProjectPost project) { try { User user = this._userRepo.GetByUsername(AuthenticationController.GetCurrentUsername(this.HttpContext)); if (user != null) { project.LastEditedUser = user.Id; } project.LastEditedDate = DateTimeOffset.Now; if (project.Location?.Latitude != null && project.Location.Longtitude != null) { project.LocationCode = this.GetLocation(project.Location.Longtitude, project.Location.Latitude).Id; } return(new Response(this.Response, this._repo.Edit(project))); } catch (Exception error) { return(new Response(this.Response, new Error(HttpStatusCode.BadRequest, "Kan project niet wijzigen: " + error.Message))); } }
public ProjectPost[] Posts() => ProjectPost.Get(this);
public FieldsPost() { project = new ProjectPost(); issuetype = new IssueTypePost(); }
public SyncReleases() { Post("/api/v1/schedule/project/sync_releases/start", _ => { var task = Task.Run(() => { var githubClient = new GitHubClient(new ProductHeaderValue("GitCom")); var githubToken = AppConfig.GetConfiguration("auth:external:github:token"); if (githubToken != null) { githubClient.Credentials = new Credentials(githubToken); } var repos = Repo.GetRandom(50); foreach (var repo in repos) { try { if (repo.service_type != RepoServiceType.GitHub) { continue; } var splitUrl = repo.repo_url.Split("/"); IEnumerable <Release> releases; try { releases = githubClient.Repository.Release.GetAll( splitUrl[3], splitUrl[4] ).Result.OrderBy(x => x.Id); } catch (Exception e) { continue; // ignored } foreach (var release in releases) { if (release.Body.Length < 100) { continue; } var existingPost = ProjectPost.FindBy("origin_id", release.Id.ToString()); if (existingPost != null) { continue; } var post = ProjectPost.Create( repo.Project(), $"Released {release.Name}", release.Body ); post.UpdateCol("origin_id", release.Id.ToString()); post.UpdateCol( "created_at", release.PublishedAt.Value.ToUnixTimeSeconds().ToString() ); } } catch (Exception e) { SentrySdk.CaptureException(e); } } }); JobsPool.Get().Push(task); return(HttpResponse.Data(new JObject())); }); }
public Response SetNewProject(ProjectPost project) { return _alphahomeRepo.SetNewProject(project); }
public Project Add(ProjectPost project) { return(Execute(this.GetInserts(), project)); }
public Project Edit(ProjectPost project) { return(Execute(this.GetUpdates(), project)); }