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

                var respuesta = ExisteInduccion(induccion);
                if (!respuesta.IsSuccess)
                {
                    db.Induccion.Add(induccion);
                    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,
                });
            }
        }
        private Response ExisteInduccion(Induccion induccion)
        {
            var bdd = induccion.IdEmpleado;
            var Induccionrespuesta = db.Induccion.Where(p => p.IdEmpleado == bdd).FirstOrDefault();

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

            return(new Response
            {
                IsSuccess = false,
                Resultado = Induccionrespuesta,
            });
        }
示例#3
0
        public async Task <IActionResult> IngresarInduccion()
        {
            Response response = new Response();

            try
            {
                var claim = HttpContext.User.Identities.Where(x => x.NameClaimType == ClaimTypes.Name).FirstOrDefault();

                if (claim.IsAuthenticated == true)
                {
                    var NombreUsuario = claim.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value;


                    var empleadoJson = ObtenerEmpleadoLogueado(NombreUsuario);

                    var induccionEmpleado = new Induccion
                    {
                        IdEmpleado = empleadoJson.Result.IdEmpleado,
                        Fecha      = DateTime.Now.Date
                    };

                    response = await apiServicio.InsertarAsync(induccionEmpleado,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/MaterialesInduccion/IngresarInduccionEmpleado");

                    // Aqui debo redirigir a la pagina donde se aloja el certificado
                    return(RedirectToAction("ListarMaterialesInduccion"));
                }
                else
                {
                    return(RedirectToAction("Login", "Login"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }
        public async Task <Response> ListarMaterialesInduccion([FromBody] Induccion induccion)
        {
            try
            {
                var induccionRealizada = await db.Induccion.Where(y => y.IdEmpleado == induccion.IdEmpleado).ToListAsync();

                if (induccionRealizada.Count > 0)
                {
                    // Si existe registro de inducción realizada por ese empleado

                    return(new Response
                    {
                        IsSuccess = true
                    });
                }
                else
                {
                    // Si no existe registro de inducción realizada por ese empleado

                    var lista = await db.MaterialInduccion.OrderBy(x => x.Titulo).ToListAsync();

                    return(new Response
                    {
                        IsSuccess = false,
                        Resultado = lista
                    });
                }
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Excepcion
                });
            }
        }
示例#5
0
        public async Task <IActionResult> ListarMaterialesInduccion()
        {
            var lista      = new List <MaterialInduccion>();
            var imagenes   = new List <MaterialInduccion>();
            var documentos = new List <MaterialInduccion>();
            var videos     = new List <MaterialInduccion>();

            try
            {
                var claim = HttpContext.User.Identities.Where(x => x.NameClaimType == ClaimTypes.Name).FirstOrDefault();

                if (claim.IsAuthenticated == true)
                {
                    var NombreUsuario = claim.Claims.Where(c => c.Type == ClaimTypes.Name).FirstOrDefault().Value;


                    var empleadoJson = ObtenerEmpleadoLogueado(NombreUsuario);

                    var induccionEmpleado = new Induccion
                    {
                        IdEmpleado = empleadoJson.Result.IdEmpleado
                    };

                    Response response = await apiServicio.ObtenerElementoAsync(induccionEmpleado, new Uri(WebApp.BaseAddress)
                                                                               , "api/MaterialesInduccion/ListarMaterialesInduccion");


                    if (response.IsSuccess)
                    {
                        return(RedirectToAction("Certificado"));
                    }

                    else if (String.IsNullOrEmpty(response.Message) == true)
                    {
                        lista = JsonConvert.DeserializeObject <List <MaterialInduccion> >(response.Resultado.ToString());

                        foreach (var item in lista)
                        {
                            var ext = Path.GetExtension(item.Url);
                            if (ext == ".jpeg" || ext == ".bmp" || ext == ".jpe" || ext == ".jpg" || ext == ".gif")
                            {
                                imagenes.Add(item);
                            }
                            else if (ext == ".pdf" || ext == ".xlsx" || ext == ".xls" || ext == ".docx" || ext == ".doc" || ext == ".pptx" || ext == ".ppt" || ext == "ppsx" || ext == "pps")
                            {
                                documentos.Add(item);
                            }
                            else
                            {
                                item.Url = item.Url.Replace("watch?v=", "embed/");
                                videos.Add(item);
                            }
                        }

                        var ViewModelInduccion = new ViewModelInduccion
                        {
                            Imagenes = imagenes,
                            Archivos = documentos,
                            Videos   = videos
                        };

                        return(View(ViewModelInduccion));
                    }

                    else
                    {
                        return(RedirectToAction("Error", response.Message));
                    }
                }
                else
                {
                    return(RedirectToAction("Login", "Login"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }
        }