예제 #1
0
        public IViewComponentResult Invoke(TbSeUsuario model)
        {
            ViewData["avatares"] = Avatars();
            var viewModel = _userMap.DomainToViewModelSingle(model);

            return(View(viewModel));
        }
예제 #2
0
        public TbSeUsuario ViewModelToDomainNuevo(UsuarioViewModel officeViewModel)

        {
            //var domain = userService.GetUsuarioConPerfiles(officeViewModel.codigo);

            //if (domain != null)
            //{
            //    return null;
            //}
            var savePath = System.IO.Path.Combine(hostingEnvironment.WebRootPath, "uploads");

            var nuevoDomain = new TbSeUsuario
            {
                Nombre     = officeViewModel.nombre,
                Codigo     = officeViewModel.codigo,
                Correo     = officeViewModel.correo,
                Contrasena = officeViewModel.contrasena,
                Estado     = officeViewModel.estado,
                Iniciales  = officeViewModel.iniciales,
                FechaMod   = DateTime.Now,
                IdUsuario  = officeViewModel.Id_Usuario,
                Avatar     = FotosService.SubirFotoUsuarios1(officeViewModel.Foto, savePath)
            };


            return(nuevoDomain);
        }
예제 #3
0
        public TbSeUsuario ViewModelToDomainNuevo(UsuarioViewModel officeViewModel)

        {
            //var domain = userService.GetUsuarioConPerfiles(officeViewModel.codigo);

            //if (domain != null)
            //{
            //    return null;
            //}

            var nuevoDomain = new TbSeUsuario
            {
                Nombre     = officeViewModel.nombre,
                Codigo     = officeViewModel.codigo,
                Correo     = officeViewModel.correo,
                Contrasena = officeViewModel.contrasena,
                Estado     = officeViewModel.estado,
                Iniciales  = officeViewModel.iniciales,
                FechaMod   = DateTime.Now,
                IdUsuario  = officeViewModel.Id_Usuario,
                Avatar     = FotosService.SubirFotoUsuario(officeViewModel.Foto)
            };


            return(nuevoDomain);
        }
예제 #4
0
        private void ReiniciarSesion(TbSeUsuario user)
        {
            try
            {
                HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);

                ClaimsIdentity identity = null;
                var            claims   = new List <Claim>();
                claims.Add(new Claim(ClaimTypes.Name, user.Codigo));
                claims.Add(new Claim(ClaimTypes.Email, user.Correo));
                claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));


                foreach (var p in user.TbSePerfilUsuario)
                {
                    claims.Add(new Claim(ClaimTypes.Role, p.IdPerfilNavigation.Nombre));
                }

                identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var principal = new ClaimsPrincipal(identity);

                var props = new AuthenticationProperties();

                Sesion.Sesion.SetNombreUsuario(HttpContext.Session, user.Nombre);
                Sesion.Sesion.SetAvatar(HttpContext.Session, user.Avatar);

                HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal, props).Wait();
            }
            catch (Exception ex)
            {
                AltivaLog.Log.Insertar(ex.ToString(), "Error");
                throw;
            }
        }
 public IViewComponentResult Invoke(TbSeUsuario model)
 {
     if (model != null)
     {
         ViewBag.accion = "EditarUsuario";
     }
     else
     {
         ViewBag.accion = "NuevoUsuario";
     }
     return(View(model));
 }
예제 #6
0
        public UsuarioViewModel DomainToViewModelSingle(TbSeUsuario domain)

        {
            UsuarioViewModel model = new UsuarioViewModel
            {
                id         = (int)domain.Id,
                codigo     = domain.Codigo,
                nombre     = domain.Nombre,
                estado     = domain.Estado,
                iniciales  = domain.Iniciales,
                contrasena = domain.Contrasena,
                correo     = domain.Correo
            };

            return(model);
        }
예제 #7
0
        public ActionResult Crear(MensajeViewModel collection)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(RedirectToAction(nameof(Index)));
                }

                var ids = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;


                var id = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value;
                MensajeViewModel    adjunto       = new MensajeViewModel();
                TbSeMensaje         msj           = new TbSeMensaje();
                TbSeMensajeReceptor msjReceptor   = new TbSeMensajeReceptor();
                TbSeAdjunto         AdjuntoDomain = new TbSeAdjunto();

                List <TbSeAdjunto> s = new List <TbSeAdjunto>();

                List <TbSeMensajeReceptor> MensajeReceptor = new List <TbSeMensajeReceptor>();
                msj = this.IMensajeMap.Crear(collection, int.Parse(id));
                msj = this.ImensajeService.create(msj);
                List <string> correos   = new List <string>();
                TbSeUsuario   userEmail = new TbSeUsuario();
                if (collection.Files != null)
                {
                    foreach (var item in collection.Files)
                    {
                        var savePath = System.IO.Path.Combine(hostingEnvironment.WebRootPath, "Files");
                        // var path = $"wwwroot\\Files\\{item.FileName}";
                        var path = $"{savePath}\\{item.FileName}";
                        using (var stream = new FileStream(path, FileMode.Create))
                        {
                            item.CopyTo(stream);
                        }

                        var ruta = $"/Files/{item.FileName}";
                        AdjuntoDomain = this.IAdjuntoMap.crear(msj.Id, ruta);

                        s.Add(AdjuntoDomain);
                    }
                }
                else
                {
                    AdjuntoDomain = this.IAdjuntoMap.crear(msj.Id, "");

                    s.Add(AdjuntoDomain);
                }
                this.IAdjuntoService.Crear(s);
                foreach (var item in collection.Usuarios)
                {
                    int i = int.Parse(item);

                    userEmail = this.IUserService.GetSingleUser(i);
                    correos.Add(userEmail.Correo);
                    msjReceptor = this.IMensajeReceptorMap.Crear(msj.Id, i);
                    MensajeReceptor.Add(msjReceptor);
                }
                this.IMensajeReceptorService.Crear(MensajeReceptor);
                //   insertarNotificacion(collection, int.Parse(id), correos);

                this.IBitacoraMap.CrearBitacora(Convert.ToInt32(ids), "Creo un nuevo Mensaje", msj.Id, "Mensaje");
                return(RedirectToAction(nameof(Index)));
            }
            catch (InvalidCastException e)
            {
                // Extract some information from this exception, and then
                // throw it to the parent method.
                AltivaLog.Log.Insertar(e.ToString(), "Error");
                if (e.Source != null)
                {
                    Console.WriteLine("IOException source: {0}", e.Source);
                }
                throw;
            }
        }
예제 #8
0
        public void Delete(TbSeUsuario domain)

        {
            userService.Delete(domain);
        }
예제 #9
0
        public void Delete(TbSeUsuario domain)

        {
            repository.Delete(domain);
        }
예제 #10
0
        public TbSeUsuario UpdateUsuario(TbSeUsuario domain)

        {
            return(repository.Update(domain));
        }
예제 #11
0
        public TbSeUsuario Create(TbSeUsuario domain)

        {
            return(repository.Save(domain));
        }