示例#1
0
        //  public async Task<ActionResult> Edit(User user)
        public async Task <ActionResult> Edit(UserView userView)
        {
            if (ModelState.IsValid)
            {
                //  CHEJ - Inicializa la variable de imagen
                MethodsHelper.Image = userView.ImagePath;

                //  CHEJ - Valida si el usuario cambio de imagen
                if (userView.ImageFile != null)
                {
                    //  CHEJ - Sube la imagen al FTP
                    MethodsHelper.Image =
                        FilesHelper.UploadPhoto(
                            userView.ImageFile,
                            MethodsHelper.GetPathUserImages(),
                            Convert.ToString(userView.UserId).Trim());

                    //  CHEJ - Da formato a la imagen
                    MethodsHelper.Image =
                        string.Format(
                            "{0}{1}",
                            MethodsHelper.GetPathUserImages(),
                            MethodsHelper.Image);
                }

                //  CHEJ - Actualiza la ruta de la imagen
                userView.ImagePath = MethodsHelper.Image;

                //  CHEJ - Transforma el objeto de UserView a User
                var user = UserViewToUser(userView);

                db.Entry(user).State = EntityState.Modified;
                response             = await DbHelper.SaveChangeDB(db);

                if (response.IsSuccess)
                {
                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError(string.Empty, response.Message);
            }

            //  CHEJ - Hace la carga de datos de los ViewBag
            LoadViewBagUserType(null, userView.UserTypeId);

            return(View(userView));
        }
示例#2
0
        public async Task <IHttpActionResult> PostUser(User user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            else
            {
                try
                {
                    //  CHEJ - Crea el usuario en la App
                    db.Users.Add(user);
                    response = await DbHelper.SaveChangeDB(db);

                    if (!response.IsSuccess)
                    {
                        ModelState.AddModelError(string.Empty, response.Message);
                        return(BadRequest(ModelState));
                    }

                    //  CHEJ - Sube las imagenes
                    if (user.ImageArray != null &&
                        user.ImageArray.Length > 0)
                    {
                        var stream = new MemoryStream(user.ImageArray);
                        MethodsHelper.Image = user.ImagePath;

                        //  CHEJ - Guarda la imagen en el FTP
                        MethodsHelper.Image =
                            FilesHelper.UploadPhoto(
                                stream,
                                MethodsHelper.GetPathUserImages(),
                                Convert.ToString(user.UserId).Trim());

                        //  CHEJ - Da formato a la imagen
                        MethodsHelper.Image =
                            string.Format(
                                "{0}{1}",
                                MethodsHelper.GetPathUserImages(),
                                MethodsHelper.Image);

                        //  Actualiza la informacion del usuario
                        user.ImagePath       = MethodsHelper.Image;
                        db.Entry(user).State = EntityState.Modified;
                        response             = await DbHelper.SaveChangeDB(db);

                        if (response.IsSuccess)
                        {
                            return(Ok());
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, response.Message);
                            return(BadRequest(ModelState));
                        }
                    }

                    //  CHEJ - Crea el usuario ASP
                    UsersHelper.CreateUserASP(
                        user.Email,
                        WebConfigurationManager.AppSettings["RoleUser"].ToString().Trim(),
                        user.Password);

                    //  return CreatedAtRoute("DefaultApi", new { id = user.UserId }, user);
                    return(Ok());
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError(string.Empty, ex.Message);
                    return(BadRequest(ex.Message));
                }
            }
        }
示例#3
0
        public async Task <IHttpActionResult> PutUser(int id, User _user)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    //  return BadRequest(ModelState);
                    ModelState.AddModelError(string.Empty, "Error: User is not valid...!!!");
                    return(BadRequest("Error: User is not valid...!!!"));
                }

                if (id != _user.UserId)
                {
                    //  return BadRequest();
                    ModelState.AddModelError(string.Empty, "Error: Id is not equal to UserId...!!!");
                    return(BadRequest("Error: Id is not equal to UserId...!!!"));
                }

                db.Entry(_user).State = EntityState.Modified;
                response = await DbHelper.SaveChangeDB(db);

                if (!response.IsSuccess)
                {
                    ModelState.AddModelError(string.Empty, response.Message);
                    return(BadRequest(response.Message));
                }

                //  CHEJ - Sube las imagenes
                if (_user.ImageArray != null &&
                    _user.ImageArray.Length > 0)
                {
                    var stream = new MemoryStream(_user.ImageArray);
                    MethodsHelper.Image = _user.ImagePath;

                    //  CHEJ - Guarda la imagen en el FTP
                    MethodsHelper.Image =
                        FilesHelper.UploadPhoto(
                            stream,
                            MethodsHelper.GetPathUserImages(),
                            Convert.ToString(_user.UserId).Trim());

                    //  CHEJ - Da formato a la imagen
                    MethodsHelper.Image =
                        string.Format(
                            "{0}{1}",
                            MethodsHelper.GetPathUserImages(),
                            MethodsHelper.Image);

                    //  Actualiza la informacion del usuario
                    _user.ImagePath       = MethodsHelper.Image;
                    db.Entry(_user).State = EntityState.Modified;
                    response = await DbHelper.SaveChangeDB(db);

                    if (response.IsSuccess)
                    {
                        return(Ok(_user));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, response.Message);
                        return(BadRequest(response.Message));
                    }
                }
                //  return StatusCode(HttpStatusCode.NoContent);
                return(Ok(_user));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return(BadRequest(ex.Message));
            }
        }
示例#4
0
        //  public async Task<ActionResult> Create(User user)
        public async Task <ActionResult> Create(UserView userView)
        {
            if (ModelState.IsValid)
            {
                //  CHEJ - Transforma el objeto UserView a User
                var user = this.UserViewToUser(userView);

                db.Users.Add(user);
                response = await DbHelper.SaveChangeDB(db);

                if (response.IsSuccess)
                {
                    //  CHEJ - Crea el usuario en ASP.Net
                    var roleUser = WebConfigurationManager.AppSettings["RoleUser"].ToString();
                    UsersHelper.CheckRole(roleUser);
                    UsersHelper.CreateUserASP(user.Email, roleUser);

                    //  CHEJ - Guarda la imagen del usuario
                    if (userView.ImageFile != null)
                    {
                        MethodsHelper.Image = user.ImagePath;

                        //  CHEJ - Guarda la imagen en el FTP
                        MethodsHelper.Image =
                            FilesHelper.UploadPhoto(
                                userView.ImageFile,
                                MethodsHelper.GetPathUserImages(),
                                Convert.ToString(user.UserId).Trim());

                        //  CHEJ - Da formato a la imagen
                        MethodsHelper.Image =
                            string.Format(
                                "{0}{1}",
                                MethodsHelper.GetPathUserImages(),
                                MethodsHelper.Image);

                        //  Actualiza la informacion del usuario
                        user.ImagePath       = MethodsHelper.Image;
                        db.Entry(user).State = EntityState.Modified;
                        response             = await DbHelper.SaveChangeDB(db);

                        if (response.IsSuccess)
                        {
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            ModelState.AddModelError(string.Empty, response.Message);
                            return(View(userView));
                        }
                    }

                    return(RedirectToAction("Index"));
                }
                ModelState.AddModelError(string.Empty, response.Message);
            }

            //  CHEJ - Carga el ViewBag tipo de usuario
            LoadViewBagUserType(null, userView.UserTypeId);

            return(View(userView));
        }