private Response Existe(DiscapacidadSustituto DiscapacidadSustituto)
        {
            var bdd1 = DiscapacidadSustituto.IdTipoDiscapacidad;
            var bdd2 = DiscapacidadSustituto.PorcentajeDiscapacidad;
            var bdd3 = DiscapacidadSustituto.NumeroCarnet;
            var bdd4 = DiscapacidadSustituto.IdPersonaSustituto;
            var DiscapacidadSustitutorespuesta = db.DiscapacidadSustituto.Where(p => p.IdTipoDiscapacidad == bdd1 &&
                                                                                p.PorcentajeDiscapacidad == bdd2 &&
                                                                                p.NumeroCarnet == bdd3 &&
                                                                                p.IdPersonaSustituto == bdd4).FirstOrDefault();

            if (DiscapacidadSustitutorespuesta != null)
            {
                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.ExisteRegistro,
                    Resultado = null,
                });
            }

            return(new Response
            {
                IsSuccess = false,
                Resultado = DiscapacidadSustitutorespuesta,
            });
        }
        public async Task <Response> PostDiscapacidadSustituto([FromBody] DiscapacidadSustituto DiscapacidadSustituto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = ""
                    });
                }

                var respuesta = Existe(DiscapacidadSustituto);
                if (!respuesta.IsSuccess)
                {
                    db.DiscapacidadSustituto.Add(DiscapacidadSustituto);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                    ExceptionTrace       = ex.Message,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <Response> InsertarDiscapacidadSustituto([FromBody] DiscapacidadSustitutoRequest viewModel)
        {
            try
            {
                if (viewModel.IdPersonaSustituto <= 0)
                {
                    return(new Response {
                        IsSuccess = false
                    });
                }

                var discapacidadSustituto = new DiscapacidadSustituto
                {
                    IdPersonaSustituto      = viewModel.IdPersonaSustituto,
                    PorcentajeDiscapacidad  = viewModel.PorcentajeDiscapacidad,
                    NumeroCarnet            = viewModel.NumeroCarnet,
                    IdTipoDiscapacidad      = viewModel.IdTipoDiscapacidad,
                    IdDiscapacidadSustituto = viewModel.IdDiscapacidadSustituto,
                };

                await db.DiscapacidadSustituto.AddAsync(discapacidadSustituto);

                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Resultado = discapacidadSustituto,
                });
            }
            catch (Exception ex)
            {
                return(new Response {
                    IsSuccess = false, Message = Mensaje.Excepcion
                });
            }
        }
        public async Task <Response> PutDiscapacidadSustituto([FromRoute] int id, [FromBody] DiscapacidadSustituto DiscapacidadSustituto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var existe = Existe(DiscapacidadSustituto);
                if (existe.IsSuccess)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ExisteRegistro,
                    });
                }

                var DiscapacidadSustitutoActualizar = await db.DiscapacidadSustituto.Where(x => x.IdDiscapacidadSustituto == id).FirstOrDefaultAsync();

                if (DiscapacidadSustitutoActualizar != null)
                {
                    try
                    {
                        DiscapacidadSustitutoActualizar.IdTipoDiscapacidad     = DiscapacidadSustituto.IdTipoDiscapacidad;
                        DiscapacidadSustitutoActualizar.PorcentajeDiscapacidad = DiscapacidadSustituto.PorcentajeDiscapacidad;
                        DiscapacidadSustitutoActualizar.NumeroCarnet           = DiscapacidadSustituto.NumeroCarnet;
                        DiscapacidadSustitutoActualizar.IdPersonaSustituto     = DiscapacidadSustituto.IdPersonaSustituto;
                        await db.SaveChangesAsync();

                        return(new Response
                        {
                            IsSuccess = true,
                            Message = Mensaje.Satisfactorio,
                        });
                    }
                    catch (Exception ex)
                    {
                        await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                        {
                            ApplicationName      = Convert.ToString(Aplicacion.SwTH),
                            ExceptionTrace       = ex.Message,
                            Message              = Mensaje.Excepcion,
                            LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                            LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                            UserName             = "",
                        });

                        return(new Response
                        {
                            IsSuccess = false,
                            Message = Mensaje.Error,
                        });
                    }
                }



                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }