Example #1
0
 public async Task <int> GrabarUsuario(SbsUsuario usuario)
 {
     if (usuario.Usuarioid == 0)
     {
         return(await _usuarioRepository.InsertarUsuario(usuario));
     }
     else
     {
         return(await _usuarioRepository.ModificarUsuario(usuario));
     }
 }
        public async Task <int> ModificarUsuario(SbsUsuario param)
        {
            int result = 0;

            try
            {
                var itemUpdate = _context.SbsUsuario.SingleOrDefault(u => u.Usuarioid == param.Usuarioid);
                if (itemUpdate != null)
                {
                    // actualización masiva

                    //List<SbsUsuario> modifiedUsers = new List<SbsUsuario>();
                    //modifiedUsers.Add(param);
                    //_context.UpdateRange(modifiedUsers);


                    // campos a actualizar
                    itemUpdate.Rolid           = param.Rolid;
                    itemUpdate.Codigousuario   = param.Codigousuario;
                    itemUpdate.Clavesecreta    = param.Clavesecreta;
                    itemUpdate.Email           = param.Email;
                    itemUpdate.Primernombre    = param.Primernombre;
                    itemUpdate.Segundonombre   = param.Segundonombre;
                    itemUpdate.Apellidopaterno = param.Apellidopaterno;
                    itemUpdate.Apellidomaterno = param.Apellidomaterno;
                    itemUpdate.Alias           = param.Alias;

                    // actualizar
                    _context.SbsUsuario.Update(itemUpdate);
                    _context.Entry(itemUpdate).State = EntityState.Modified;
                    await _context.SaveChangesAsync();

                    result = itemUpdate.Usuarioid;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(result);
        }
        public JsonResult EliminarUsuario([FromBody] SbsUsuario param)
        {
            var success = true;
            int result  = 0;

            try
            {
                result = _usuarioService.EliminarUsuario(param.Usuarioid).Result;
            }
            catch (Exception ex)
            {
                success = false;
                _logger.LogError(default(EventId), ex, ex.Message);
            }

            return(Json(new
            {
                success,
                data = result
            }));
        }
        public async Task <int> InsertarUsuario(SbsUsuario param)
        {
            int result = 0;

            try
            {
                // Método sin transacción

                var newId = _context.SbsUsuario.DefaultIfEmpty().Max(r => r == null ? 0 : r.Usuarioid) + 1;

                var itemAdd = new SbsUsuario
                {
                    Usuarioid       = newId,
                    Rolid           = param.Rolid,
                    Codigousuario   = param.Codigousuario,
                    Clavesecreta    = param.Clavesecreta,
                    Email           = param.Email,
                    Apellidopaterno = param.Apellidopaterno,
                    Apellidomaterno = param.Apellidomaterno,
                    Primernombre    = param.Primernombre,
                    Segundonombre   = param.Segundonombre,
                    Alias           = param.Alias,
                    Primeravezlogin = true,
                    Activo          = true
                };

                _context.SbsUsuario.Add(itemAdd);
                await _context.SaveChangesAsync();

                result = itemAdd.Usuarioid;

                // Método con transacción

                /*
                 * var newId = _context.SbsUsuario.DefaultIfEmpty().Max(r => r == null ? 0 : r.Usuarioid) + 1;
                 *
                 * var itemAdd = new SbsUsuario
                 * {
                 *  Usuarioid = newId,
                 *  Rolid = param.Rolid,
                 *  Codigousuario = param.Codigousuario,
                 *  Clavesecreta = param.Clavesecreta,
                 *  Email = param.Email,
                 *  Apellidopaterno = param.Apellidopaterno,
                 *  Apellidomaterno = param.Apellidomaterno,
                 *  Primernombre = param.Primernombre,
                 *  Segundonombre = param.Segundonombre,
                 *  Alias = param.Alias,
                 *  Primeravezlogin = true,
                 *  Activo = true
                 * };
                 *
                 * using (var dbContextTransaction = _context.Database.BeginTransaction())
                 * {
                 *  try
                 *  {
                 *
                 *      _context.SbsUsuario.Add(itemAdd);
                 *      await _context.SaveChangesAsync();
                 *
                 *      dbContextTransaction.Commit();
                 *
                 *      result = itemAdd.Usuarioid;
                 *  }
                 *  catch (Exception)
                 *  {
                 *      dbContextTransaction.Rollback();
                 *  }
                 * }
                 */
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(result);
        }