예제 #1
0
        public ProcessResult <object> EliminarIndicadorMetaAnual(IndicadorMetaAnualRequest data)
        {
            ProcessResult <object> resultado = new ProcessResult <object>();

            resultado.Result = string.Empty;
            try
            {
                IndicadorMetaAnualEntity oIndicadorMetaAnualEntity = indicadorMetaAnualEntityRepository.GetById(data.CodigoIndicadorMetaAnual);

                if (oIndicadorMetaAnualEntity != null)
                {
                    indicadorMetaAnualEntityRepository.Eliminar(oIndicadorMetaAnualEntity.CodigoIndicadorMetaAnual);
                    resultado.IsSuccess = true;
                    indicadorMetaAnualEntityRepository.GuardarCambios();
                }
            }
            catch (Exception ex)
            {
                resultado.Exception = new ApplicationLayerException <AreaService>(ex.Message);
            }
            return(resultado);
        }
예제 #2
0
        public ProcessResult <IndicadorMetaAnualResponse> RegistrarIndicadorMetaAnual(IndicadorMetaAnualRequest data)
        {
            ProcessResult <IndicadorMetaAnualResponse> resultado = new ProcessResult <IndicadorMetaAnualResponse>();

            resultado.Result = new IndicadorMetaAnualResponse();
            try
            {
                using (TransactionScope ts = new TransactionScope())
                {
                    IndicadorMetaAnualEntity indicadorMetaAnualSincronizar = indicadorMetaAnualEntityRepository.GetById(data.CodigoIndicadorMetaAnual);
                    IndicadorMetaAnualEntity indicadorMetaAnualGeneral     = Mapper.Map <IndicadorMetaAnualRequest, IndicadorMetaAnualEntity>(data);

                    var indicadorMetaAnual = BuscarIndicadorMetaAnual(data);

                    if (indicadorMetaAnual.Result.Count > 0)
                    {
                        for (int i = 0; i < indicadorMetaAnual.Result.Count; i++)
                        {
                            if (indicadorMetaAnual.Result[0].EstadoRegistro == DatosConstantes.EstadoRegistro.Activo)
                            {
                                resultado.IsSuccess = false;
                                resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.ViolacionRegistro);
                                break;
                            }
                            else
                            {
                                if (indicadorMetaAnualSincronizar != null)
                                {
                                    Mapper.Map <IndicadorMetaAnualEntity, IndicadorMetaAnualEntity>(indicadorMetaAnualGeneral, indicadorMetaAnualSincronizar);
                                    indicadorMetaAnualEntityRepository.Editar(indicadorMetaAnualSincronizar);
                                    resultado.Result.CodigoIndicadorMetaAnual = data.CodigoIndicadorMetaAnual;
                                    resultado.Result.CodigoIndicador          = data.CodigoIndicador;
                                }
                                else
                                {
                                    indicadorMetaAnualEntityRepository.Insertar(indicadorMetaAnualGeneral);
                                    bool registroExitoso = resultado.IsSuccess;
                                    if (!registroExitoso)
                                    {
                                        resultado.IsSuccess = false;
                                        resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.EtiquetaError);
                                    }
                                    resultado.Result.CodigoIndicadorMetaAnual = indicadorMetaAnualGeneral.CodigoIndicadorMetaAnual;
                                    resultado.Result.CodigoIndicador          = indicadorMetaAnualGeneral.CodigoIndicador;
                                }
                            }
                        }
                    }
                    else
                    {
                        if (indicadorMetaAnualSincronizar != null)
                        {
                            Mapper.Map <IndicadorMetaAnualEntity, IndicadorMetaAnualEntity>(indicadorMetaAnualGeneral, indicadorMetaAnualSincronizar);
                            indicadorMetaAnualEntityRepository.Editar(indicadorMetaAnualSincronizar);
                            resultado.Result.CodigoIndicadorMetaAnual = data.CodigoIndicadorMetaAnual;
                            resultado.Result.CodigoIndicador          = data.CodigoIndicador;
                        }
                        else
                        {
                            indicadorMetaAnualEntityRepository.Insertar(indicadorMetaAnualGeneral);
                            bool registroExitoso = resultado.IsSuccess;
                            if (!registroExitoso)
                            {
                                resultado.IsSuccess = false;
                                resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(MensajesSistemaResource.EtiquetaError);
                            }
                            resultado.Result.CodigoIndicadorMetaAnual = indicadorMetaAnualGeneral.CodigoIndicadorMetaAnual;
                            resultado.Result.CodigoIndicador          = indicadorMetaAnualGeneral.CodigoIndicador;
                        }
                    }
                    indicadorMetaAnualEntityRepository.GuardarCambios();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <IndicadorMetaAnualService>(ex.Message);
            }
            return(resultado);
        }