public async Task <IActionResult> CreateProjectAsync([FromBody] CreateProjectInfo project) { Result <Project> createdProject = await _projectService.CreateProjectAsync(project.ProjectName, project.OwnerId); _projectService.UpdateOwner(createdProject.Payload.ProjectId); return(Ok(createdProject.Payload)); }
public IActionResult UpdateProject([FromBody] CreateProjectInfo model) { var project = _db.Project.FirstOrDefault(p => p.Id == model.id); _db.Project.Update(FillingFields(model)); _db.SaveChanges(); return(new ObjectResult(project)); }
public Visa FactoryVisa(CreateProjectInfo project, int id) { var visa = new Visa { Date = project.payment.expirationDate, NumberCard = project.payment.cardNumber, OwnerName = project.payment.owner, Pin = project.payment.cvCode, ProjectId = id, UserId = project.userId }; return(visa); }
public void UpdateGoals([FromBody] UpdateGoals model) { var proj = _db.Project.FirstOrDefault(p => p.Id == model.projectId); proj.requiredSum = 0; var buf = new CreateProjectInfo { finansalGoals = model.goals }; var steps = _db.Step.ToList().FindAll(p => p.projectId == model.projectId); foreach (var step in steps) { _db.Step.Remove(step); } _db.SaveChanges(); AddTargets(buf, proj); }
public void AddTargets(CreateProjectInfo project, Project proj) { foreach (var goals in project.finansalGoals) { var target = new Target(); if (_db.Project.ToList().Count != 0) { target.projectId = _db.Project.ToList().Last().Id + 1; } target.cost = goals.cost; target.title = goals.title; target.IsCompleted = false; proj.Targets.Add(target); proj.requiredSum += target.cost; _db.Step.Update(target); } _db.Project.Update(proj); _db.SaveChanges(); }
public Project FillingFields(CreateProjectInfo project) { var proj = new Project(); proj.Title = project.title; proj.Description = project.description; proj.DateCreated = localDate.ToString(); proj.DateEnd = project.completionDate.Split("T").First(); proj.currentSum = 0; proj.image = project.image; proj.CreateUserId = project.userId; proj.Sponsors = 0; elapsed = Convert.ToDateTime(proj.DateEnd).Subtract(Convert.ToDateTime(proj.DateCreated)); proj.leftOver = elapsed.Days; proj.content = project.content; var tag = new Tag(); int helpIdTag = 0; int j = 1; for (int i = 0; i <= project.tags.Count - 1; i++) { tag = _db.Tag.FirstOrDefault(p => p.Name == project.tags[i]); if (tag == null) { var bufTag = new Tag(); bufTag.Name = project.tags[i]; if (_db.Tag.ToList().Count != 0) { helpIdTag = _db.Tag.ToList().Last().Id + j; } else { helpIdTag = j; } _db.Tag.Add(bufTag); tag = bufTag; j++; } else { helpIdTag = tag.Id; _db.Tag.Update(tag); } int idProj = 0; if (_db.Project.ToList().Count != 0) { idProj = _db.Project.ToList().Last().Id + 1; } else { idProj = 0; } var bufProjectTag = new ProjectTag { Tag = tag, ProjectId = idProj, IdTags = helpIdTag }; proj.Tags.Add(bufProjectTag); _db.InstructionTag.Add(bufProjectTag); } AddTargets(project, proj); proj.currentSum = 0; proj.progress = 0; int id = 1; if (_db.Project.ToList().Count != 0) { id = _db.Project.ToList().Last().Id + 1; } AddVisa(project, id); return(proj); }
public IActionResult CreateProject([FromBody] CreateProjectInfo model) { _db.Project.Add(FillingFields(model)); _db.SaveChanges(); return(new ObjectResult(_db.Project.Last().Id)); }
public void AddVisa(CreateProjectInfo project, int id) { _db.Visa.Add(FactoryVisa(project, id)); }