Exemplo n.º 1
0
        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)));
 }