public ActionResult Update(ActualizarDatosViewModel actualizarDatosViewModel)
        {
            try
            {
                BindTaxQuality(actualizarDatosViewModel);
                using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
                {
                    tblUsuariosProveedor userProvider = UpdateUserProvider(actualizarDatosViewModel, entities);

                    if (userProvider.Email.ToLower().Equals(actualizarDatosViewModel.Emaildb.ToLower()))
                    {
                        GenerateAlert("success", "Actualización éxitosa", "La actualización se ha realizado correctamente", "/Menu/MenuProveedor");
                    }
                    else
                    {
                        UsuarioActivacion userActivation = InsertUserActivation(userProvider);
                        SendActivationLinkEmail(userProvider, userActivation);
                        FormsAuthentication.SignOut();
                        GenerateAlert("success", "Actualización éxitosa", "La actualización se ha realizado correctamente, debido a que el email ha cambiado, se debe activar nuevamente la cuenta, verifique el link de activación que fue enviado al email.", "/");
                    }
                }
            }
            catch (DbEntityValidationException exception)
            {
                GenerateAlert("error", "error", "validación de modelo", string.Empty);
            }
            catch (Exception exception)
            {
                GenerateAlert("error", "error", exception.Message, string.Empty);
            }

            return(View("Index", actualizarDatosViewModel));
        }
示例#2
0
        public async Task <Object> UpdateDatosUsuario(ActualizarDatosViewModel datos)
        {
            //creo una variable para manejar los mensajes
            var MSG = new List <object>();

            if (!ModelState.IsValid)
            {
                //var linq1 = bd.Mensajes.Where(s => s.Codigo_mensaje == 412).First();
                //MSG.Add(new { type = linq1.Tipo_mensaje, value = linq1.Cuerpo_mensaje, codigo = linq1.Codigo_mensaje });
                //return Json(MSG);
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
            else
            {
                try
                {
                    var result = bd.SP_UpdateDatosUser(datos.usuario_id, datos.codigo, datos.nombres, datos.apellidos, datos.telefono, datos.razon_social, datos.correo, datos.id_rol, datos.id_estado).First();
                    await bd.SaveChangesAsync();

                    return(Json(result));
                }
                catch (Exception e)
                {
                    //envio mensaje a usuarios
                    var linq1 = bd.Web_Mensaje.Where(s => s.codigo == 412).First();
                    MSG.Add(new { type = linq1.tipo, value = linq1.cuerpo, codigo = linq1.codigo });

                    //envio log a archivo de logs
                    LogsController log = new LogsController(e.ToString());
                    log.createFolder();
                    //TODO enviar a la base de datos
                    return(Json(MSG));
                }
            }
        }
        public ActionResult Index(ActualizarDatosViewModel actualizarDatosViewModel)
        {
            try
            {
                string userNitLogged = HttpContext.User.Identity.Name;
                using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
                {
                    LoadTaxQualities(entities);
                    DeleteModalStateErrors();
                    if (ModelState.IsValid)
                    {
                        LoadInfoUserProvider(actualizarDatosViewModel, userNitLogged, entities);
                    }
                }
            }
            catch (DbEntityValidationException)
            {
                GenerateAlert("error", "error", "validación de modelo", string.Empty);
            }
            catch (Exception exception)
            {
                GenerateAlert("error", "error", exception.Message, string.Empty);
            }

            return(View(actualizarDatosViewModel));
        }
        private tblUsuariosProveedor UpdateUserProvider(ActualizarDatosViewModel actualizarDatosViewModel, bdFacturacionElectronicaEntities entities)
        {
            string userNit = HttpContext.User.Identity.Name;
            HttpFileCollectionBase files        = Request.Files;
            tblUsuariosProveedor   userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNit).FirstOrDefault();

            userProvider.UsuarioNit          = userNit;
            userProvider.RazonSocial         = actualizarDatosViewModel.RazonSocial;
            userProvider.IDCalidadTributaria = actualizarDatosViewModel.IDCalidadTributaria;
            userProvider.Email              = actualizarDatosViewModel.Email;
            userProvider.Telefono           = actualizarDatosViewModel.Telefono;
            userProvider.Direccion          = actualizarDatosViewModel.Direccion;
            userProvider.RepresentanteLegal = actualizarDatosViewModel.RepresentanteLegal;

            if (!string.IsNullOrEmpty(actualizarDatosViewModel.Rut))
            {
                HttpPostedFileBase fileRut     = Request.Files["Rut"];
                string             locationRut = GetLocationFile("RUT", actualizarDatosViewModel, fileRut);
                userProvider.RutaRut = locationRut;
            }

            if (!string.IsNullOrEmpty(actualizarDatosViewModel.CamaraComercio))
            {
                HttpPostedFileBase fileCamaraComercio     = Request.Files["CamaraComercio"];
                string             locationCamaraComercio = GetLocationFile("CAMARACOMERCIO", actualizarDatosViewModel, fileCamaraComercio);
                userProvider.RutaCamaraComercio = locationCamaraComercio;
            }

            entities.SaveChanges();
            return(userProvider);
        }
        private string GetLocationFile(string filetype, ActualizarDatosViewModel actualizarDatosViewModel, HttpPostedFileBase file)
        {
            string extension = Path.GetExtension(file.FileName);
            var    fileName  = string.Format("{0}_{1}.{2}", filetype, HttpContext.User.Identity.Name, extension);
            string location  = Path.Combine(Server.MapPath("~/DocumentsUpload"), fileName);

            file.SaveAs(location);
            return(location);
        }
 private void BindTaxQuality(ActualizarDatosViewModel actualizarDatosViewModel)
 {
     using (bdFacturacionElectronicaEntities entities = new bdFacturacionElectronicaEntities())
     {
         var        taxqualities     = entities.tblCalidadTributaria.ToList().Where(t => t.ID == actualizarDatosViewModel.IDCalidadTributaria);
         SelectList taxqualitiesList = new SelectList(taxqualities, "ID", "Nombre");
         ViewBag.taxqualitiesListName = taxqualitiesList;
     }
 }
示例#7
0
        public async Task <ActionResult> Perfil(ActualizarDatosViewModel model)
        {
            //Valido los campos del modelo
            if (ModelState.IsValid)
            {
                var result = new Web_UsuarioApiController().UpdateDatosUsuario(model);
                //Console.WriteLine(result);
                return(View());
                //Web_UsuarioApiController datos = await datos.UpdateDatosUsuario(model);
                //await datos.UpdateDatosUsuario(model);
            }

            return(View(model));
        }
        private void LoadInfoUserProvider(ActualizarDatosViewModel actualizarDatosViewModel, string userNitLogged, bdFacturacionElectronicaEntities entities)
        {
            tblUsuariosProveedor userProvider = entities.tblUsuariosProveedor.Where(u => u.UsuarioNit == userNitLogged).FirstOrDefault();

            actualizarDatosViewModel.UserNit             = userProvider.UsuarioNit;
            actualizarDatosViewModel.RazonSocial         = userProvider.RazonSocial;
            actualizarDatosViewModel.IDCalidadTributaria = (userProvider.IDCalidadTributaria.HasValue) ? userProvider.IDCalidadTributaria.Value : 0;
            actualizarDatosViewModel.Email              = userProvider.Email;
            actualizarDatosViewModel.Emaildb            = userProvider.Email;
            actualizarDatosViewModel.Telefono           = userProvider.Telefono;
            actualizarDatosViewModel.Direccion          = userProvider.Direccion;
            actualizarDatosViewModel.RepresentanteLegal = userProvider.RepresentanteLegal;
            actualizarDatosViewModel.Rut            = GetUrlFile(userProvider.RutaRut);
            actualizarDatosViewModel.CamaraComercio = GetUrlFile(userProvider.RutaCamaraComercio);
        }
示例#9
0
        /*// GET: Web_Usuario/Delete/5
         * public async Task<ActionResult> Delete(long? id)
         * {
         *  if (id == null)
         *  {
         *      return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
         *  }
         *  Web_Usuario web_Usuario = await db.Web_Usuario.FindAsync(id);
         *  if (web_Usuario == null)
         *  {
         *      return HttpNotFound();
         *  }
         *  return View(web_Usuario);
         * }
         *
         * // POST: Web_Usuario/Delete/5
         * [HttpPost, ActionName("Delete")]
         * [ValidateAntiForgeryToken]
         * public async Task<ActionResult> DeleteConfirmed(long id)
         * {
         *  Web_Usuario web_Usuario = await db.Web_Usuario.FindAsync(id);
         *  db.Web_Usuario.Remove(web_Usuario);
         *  await db.SaveChangesAsync();
         *  return RedirectToAction("Index");
         * }*/

        /// <summary>
        /// Metodo invoca la vista para el perfil y realiza una sobre carga de información
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public virtual ActionResult Perfil(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Web_Usuario u = db.Web_Usuario.Find(id);

            ActualizarDatosViewModel model = new ActualizarDatosViewModel
            {
                usuario_id   = Convert.ToInt32(u.usuario_id),
                codigo       = u.Prestador.codigo,
                nombres      = u.nombres,
                apellidos    = u.apellidos,
                razon_social = u.razon_social,
                correo       = u.correo,
                telefono     = u.telefono,
                id_rol       = Convert.ToInt32(u.FK_usuario_rol),
                id_estado    = Convert.ToInt32(u.FK_usuario_estado_rips)
            };

            return(View(model));
        }