Beispiel #1
0
        public HttpResponseMessage Actualizar(usuario Entidad, ModelStateDictionary modelo)
        {
            try
            {
                if (modelo.IsValid)
                {
                    var aux = mgr.FindById(Entidad.Id);
                    if (aux == null)
                    {
                        resp.Codigo        = (int)Codigos.REGISTRO_NO_ENCONTRADO;
                        resp.Mensaje       = Enum.GetName(typeof(Codigos), (int)Codigos.REGISTRO_NO_ENCONTRADO);
                        resp.Mensaje_error = String.Format(Errores.error1, Entidad.Id);
                        return(resp.ObjectoRespuesta());
                    }
                    Entidad.PasswordHash          = aux.PasswordHash;
                    Entidad.EmailConfirmed        = aux.EmailConfirmed;
                    Entidad.SecurityStamp         = aux.SecurityStamp;
                    Entidad.PhoneNumberConfirmed  = aux.PhoneNumberConfirmed;
                    Entidad.TwoFactorEnabled      = aux.TwoFactorEnabled;
                    Entidad.LockoutEnabled        = aux.LockoutEnabled;
                    Entidad.LockoutEndDateUtc     = aux.LockoutEndDateUtc;
                    Entidad.AccessFailedCount     = aux.AccessFailedCount;
                    contexto.Entry(aux).State     = EntityState.Detached;
                    contexto.Entry(Entidad).State = EntityState.Modified;
                    IdentityResult result = mgr.Update(Entidad);

                    if (!result.Succeeded)
                    {
                        resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
                        resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                        resp.Objetoerror = result.Errors;
                        return(resp.ObjectoRespuesta());
                    }
                    resp.Codigo  = (int)Codigos.OK;
                    resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
                    return(resp.ObjectoRespuesta());
                }
                else
                {
                    resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
                    resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                    resp.Objetoerror = modelo;
                    return(resp.ObjectoRespuesta());
                }
            }
            catch (Exception ex)
            {
                resp.Codigo    = (int)Codigos.ERROR_DE_SERVIDOR;
                resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_SERVIDOR);
                resp.Excepcion = Excepcion.Create(ex);
                return(resp.ObjectoRespuesta());
            }
        }
        public HttpResponseMessage Actualizar(proveedor Entidad, ModelStateDictionary modelo)
        {
            DbContextTransaction tran = null;

            try
            {
                if (modelo.IsValid)
                {
                    usuario aux = mgr.FindById(Entidad.usuario.Id);
                    if (aux != null)
                    {
                        contexto.Entry(aux).State             = EntityState.Detached;
                        Entidad.usuario_id                    = Entidad.usuario.Id;
                        contexto.Entry(Entidad).State         = EntityState.Modified;
                        contexto.Entry(Entidad.usuario).State = EntityState.Modified;
                        tran = contexto.Database.BeginTransaction();
                        Entidad.usuario.PasswordHash         = aux.PasswordHash;
                        Entidad.usuario.EmailConfirmed       = aux.EmailConfirmed;
                        Entidad.usuario.SecurityStamp        = aux.SecurityStamp;
                        Entidad.usuario.PhoneNumberConfirmed = aux.PhoneNumberConfirmed;
                        Entidad.usuario.TwoFactorEnabled     = aux.TwoFactorEnabled;
                        Entidad.usuario.LockoutEnabled       = aux.LockoutEnabled;
                        Entidad.usuario.LockoutEndDateUtc    = aux.LockoutEndDateUtc;
                        Entidad.usuario.AccessFailedCount    = aux.AccessFailedCount;
                        IdentityResult result = mgr.Update(Entidad.usuario);
                        if (!result.Succeeded)
                        {
                            if (contexto.Database.CurrentTransaction != null)
                            {
                                tran.Rollback();
                            }

                            resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
                            resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                            resp.Objetoerror = result.Errors;
                            return(resp.ObjectoRespuesta());
                        }
                        contexto.Entry(Entidad.usuario).State = EntityState.Detached;
                        contexto.SaveChanges();
                        tran.Commit();
                        resp.Codigo  = (int)Codigos.OK;
                        resp.Mensaje = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
                        return(resp.ObjectoRespuesta());
                    }
                    else
                    {
                        resp.Codigo        = (int)Codigos.REGISTRO_NO_ENCONTRADO;
                        resp.Mensaje       = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
                        resp.Mensaje_error = String.Format(Errores.error1, Entidad.usuario.Id);
                        return(resp.ObjectoRespuesta());
                    }
                }
                else
                {
                    resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
                    resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
                    resp.Objetoerror = modelo;
                    return(resp.ObjectoRespuesta());
                }
            }
            catch (Exception ex)
            {
                if (contexto.Database.CurrentTransaction != null)
                {
                    tran.Rollback();
                }

                resp.Codigo    = (int)Codigos.ERROR_DE_SERVIDOR;
                resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_SERVIDOR);
                resp.Excepcion = Excepcion.Create(ex);
                return(resp.ObjectoRespuesta());
            }
        }