public IList <SectionProject> AddOrUpdate(SectionProjectEntryModel sectionProjectEntryModel) { IList <SectionProject> sectionProjects = new List <SectionProject>(); foreach (var projectId in sectionProjectEntryModel.ProjectIds) { var sectionproject = _sectionProjectRepository.GetSectionProjectByIds(sectionProjectEntryModel.SectiontId, projectId); if (sectionproject == null) { var project = _projectRepository.Get(projectId); var section = _sectionRepository.Get(sectionProjectEntryModel.SectiontId); if (project == null || section == null) { throw new InvalidSectionOrProjectException("proyecto o seccion no valido"); } sectionproject = new SectionProject { Section = section, Project = project, Organization = sectionProjectEntryModel.Organization, Description = sectionProjectEntryModel.Description, Cost = sectionProjectEntryModel.Cost, IsApproved = false }; _sectionProjectRepository.Insert(sectionproject); _sectionProjectRepository.Save(); } sectionproject.Organization = sectionProjectEntryModel.Organization; sectionproject.Description = sectionProjectEntryModel.Description; sectionproject.Cost = sectionProjectEntryModel.Cost; _sectionProjectRepository.Update(sectionproject); sectionProjects.Add(sectionproject); _sectionProjectRepository.Save(); } _sectionProjectRepository.Save(); return(sectionProjects); }
public IHttpActionResult PostSectionProject(SectionProjectEntryModel sectionProjectEntryModel) { return(Ok(_sectionProjectServices.AddOrUpdate(sectionProjectEntryModel))); }