public async Task <ActionResult <ProjectResponse> > PostProject(MHKDTO.Models.Project input) { // Check if the project object already exists var existingProjectObject = await _context.Projects .Where(p => p.Month == input.Month && p.Year == input.Year) .FirstOrDefaultAsync(); if (existingProjectObject != null) { return(Conflict(input)); } var project = new Data.Models.Project { WeightNK = input.WeightNK, Minimum = input.Minimum, Maximum = input.Maximum, Month = input.Month, Year = input.Year, TotalTasks = input.TotalTasks, TasksOnTime = input.TasksOnTime }; _context.Projects.Add(project); await _context.SaveChangesAsync(); var result = project.MapProjectResponse(); return(CreatedAtAction(nameof(GetProject), new { id = result.Id }, result)); }
public async Task <IActionResult> DeleteProject(int Id) { Data.Models.Project p = _ProjectService.GetById(Id); Helper.HtmlManager.DeleteHtml(p.HTMLPath, _environment); Helper.ImageManager.DeleteImage(p.ImgPath, _environment); await _ProjectService.Delete(p.Id); return(RedirectToAction("ListProjects")); }
public async Task <IActionResult> CreateProject(ProjectList Input, string Tags, IFormFile file) { if (string.IsNullOrWhiteSpace(Input.Title) && string.IsNullOrEmpty(Input.Desciption)) { return(RedirectToAction("CreateProject")); } Data.Models.Project project = new Data.Models.Project(); project.Title = Input.Title; project.Desciption = Input.Desciption; if (!string.IsNullOrWhiteSpace(Tags)) { string[] tags = Tags.Split(",").Skip(1).ToArray(); foreach (string item in tags) { var t = _tagService.getByNorTag(item.ToUpper()); if (t == null) { return(RedirectToAction("CreateProject")); } project.TagLink.Add(new ProjectTag { project = project, tag = t }); } } await _ProjectService.Create(project); project.HTMLPath = Helper.HtmlManager.CreateHtml(Input.content, Input.Id.ToString(), @"\content\Projects\", _environment); project.ImgPath = Helper.ImageManager.UploadImage(file: file, Input.Id.ToString(), "/images/Uploaded/Projects/", _environment); await _ProjectService.Edit(project); return(RedirectToAction("ListProjects")); }
public Project(Data.Models.Project project) { Id = project.Id; Name = project.Name; Price = project.Price; IsDeactivated = project.IsDeactivated; CreatedDate = project.CreatedDate; LastModifiedDate = project.LastModifiedDate; IsFixed = project.IsFixed; StartDate = project.StartDate; EndDate = project.EndDate; CustomerId = project.CustomerId; if (project.Customer != null) { Customer = new Customer(project.Customer); } if (project.Tasks != null) { Tasks = project.Tasks.Select(x => new Task(x)); } if (project.AssignedUsers != null) { AssignedUsers = project.AssignedUsers.Select(x => new User(x)); } }
public async Task <IActionResult> AddProject([FromBody] Data.Models.Project project) { NewResponseModel NewProjectResponseModel = new NewResponseModel(); try { await _db.AddProject(project); NewProjectResponseModel.Message = "Success !!!"; NewProjectResponseModel.CreatedId = project.Id; UserProject userProject = new UserProject() { ProjectId = project.Id, UserId = project.AdminId, RoleId = (await _db.GetRole("Admin")).Id }; await _db.AddUserProject(userProject); return(Ok(NewProjectResponseModel)); } catch (Exception ex) { NewProjectResponseModel.Message = ex.Message; return(BadRequest(NewProjectResponseModel)); } }