public SaveGrupoNecesidadResponse SaveGrupoNecesidad(CreateEditSoloGrupoNecesidadViewModel viewModel, int?centro) { var response = new SaveGrupoNecesidadResponse(); GrupoNecesidad grupo = new GrupoNecesidad(); try { if (viewModel.GrupoNecesidadId == null) { grupo.UpdateGrupoNecesidad(viewModel); _grupoNecesidadRepository.Create(grupo); } else { var grupoActual = _grupoNecesidadRepository.GetOne(x => x.GrupoNecesidadId == viewModel.GrupoNecesidadId.Value); grupoActual.UpdateGrupoNecesidad(viewModel); _grupoNecesidadRepository.Update(grupoActual); } response.GrupoNecesidadId = _grupoNecesidadRepository.GetOne(x => x.Nombre == viewModel.NombreGrupo && x.IsActivo && !x.GrupoCerrado && (!(x.Usuario.CentroId.HasValue) || x.Usuario.CentroId == centro.Value)).GrupoNecesidadId; response.IsValid = true; } catch (Exception ex) { response.ErrorMessage = ex.Message; response.IsValid = false; } return(response); }
public static void UpdateGrupoNecesidad(this GrupoNecesidad grupoNecesidad, CreateEditSoloGrupoNecesidadViewModel grupoNecesidadVM) { if (grupoNecesidadVM.GrupoNecesidadId.HasValue) { grupoNecesidad.ModifiedBy = ModifiableEntityHelper.GetCurrentUser(); grupoNecesidad.Modified = ModifiableEntityHelper.GetCurrentDate(); grupoNecesidad.GrupoNecesidadId = grupoNecesidadVM.GrupoNecesidadId.Value; } else { grupoNecesidad.CreatedBy = ModifiableEntityHelper.GetCurrentUser(); grupoNecesidad.Created = ModifiableEntityHelper.GetCurrentDate(); } grupoNecesidad.Nombre = grupoNecesidadVM.NombreGrupo; grupoNecesidad.Descripcion = grupoNecesidadVM.DescripcionGrupo; grupoNecesidad.GrupoCerrado = grupoNecesidadVM.EstadoGrupo; grupoNecesidad.IsActivo = true; }