Exemplo n.º 1
0
        public HttpResponseMessage UpdateUser(int id, [FromBody] UserInfo userInfo)
        {
            try
            {
                var oRequest = new ORequest();

                if (!oRequest.IsAuthorized(AccessTokenManager.ScopeUsers))
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "Unauthorized"));
                }

                if (userInfo == null)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Could not read user from body"));
                }

                if (!DataProvider.UserDao.ApiIsExists(id))
                {
                    return(Request.CreateResponse(HttpStatusCode.NoContent, "User is not found"));
                }

                DataProvider.UserDao.ApiUpdateUser(id, userInfo);

                var oResponse = new OResponse(userInfo);

                return(Request.CreateResponse(oResponse));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Exemplo n.º 2
0
        public IHttpActionResult UploadAvatar(int id)
        {
            try
            {
                var oRequest = new ORequest(AccessTokenManager.ScopeUsers);
                if (!oRequest.IsApiAuthorized)
                {
                    return(Unauthorized());
                }

                if (!DataProvider.UserDao.ApiIsExists(id))
                {
                    return(NotFound());
                }

                var userInfo = DataProvider.UserDao.ApiGetUser(id);

                foreach (string name in HttpContext.Current.Request.Files)
                {
                    var postFile = HttpContext.Current.Request.Files[name];

                    if (postFile == null)
                    {
                        return(BadRequest("Could not read image from body"));
                    }

                    var directoryPath = PathUtils.GetUserUploadDirectoryPath(userInfo.UserName);
                    var fileName      = PathUtils.GetUserUploadFileName(postFile.FileName);
                    if (!EFileSystemTypeUtils.IsImage(PathUtils.GetExtension(fileName)))
                    {
                        return(BadRequest("image file extension is not correct"));
                    }

                    postFile.SaveAs(PathUtils.Combine(directoryPath, fileName));

                    userInfo.AvatarUrl = PageUtils.AddProtocolToUrl(PageUtils.GetUserFilesUrl(userInfo.UserName, fileName));

                    string errorMessage;
                    var    user = DataProvider.UserDao.ApiUpdate(id, new UserInfoCreateUpdate
                    {
                        AvatarUrl = userInfo.AvatarUrl
                    }, out errorMessage);

                    if (user == null)
                    {
                        return(BadRequest(errorMessage));
                    }
                }

                var oResponse = new OResponse(userInfo);

                return(Ok(oResponse));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 3
0
        public IHttpActionResult GetLogs(int id)
        {
            try
            {
                var oRequest = new ORequest(AccessTokenManager.ScopeUsers);
                if (!oRequest.IsApiAuthorized)
                {
                    return(Unauthorized());
                }

                var userName = DataProvider.UserDao.GetUserName(id);
                if (string.IsNullOrEmpty(userName))
                {
                    return(NotFound());
                }

                var logs      = DataProvider.UserLogDao.ApiGetLogs(userName, oRequest.Skip, oRequest.Top);
                var oResponse = new OResponse(logs);

                var count = DataProvider.UserDao.ApiGetCount();
                if (oRequest.Count)
                {
                    oResponse.Count = count;
                }

                if (oRequest.Top + oRequest.Skip < count)
                {
                    oResponse.Next =
                        PageUtils.AddQueryString(
                            PageUtils.RemoveQueryString(oRequest.RawUrl, new List <string> {
                        "top", "skip"
                    }),
                            new NameValueCollection
                    {
                        { "top", oRequest.Top.ToString() },
                        { "skip", (oRequest.Top + oRequest.Skip).ToString() }
                    });
                }

                return(Ok(oResponse));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 4
0
        public IHttpActionResult UploadAvatar(HttpPostedFileBase uploadedFile)
        {
            try
            {
                var oRequest = new ORequest();

                if (!oRequest.IsAuthorized(AccessTokenManager.ScopeUsers))
                {
                    return(Unauthorized());
                }

                var users     = DataProvider.UserDao.ApiGetUsers(oRequest.Skip, oRequest.Top);
                var oResponse = new OResponse(users);

                HttpResponseMessage result = null;
                var httpRequest            = HttpContext.Current.Request;

                if (httpRequest.Files.Count > 0)
                {
                    var docfiles = new List <string>();

                    foreach (string file in httpRequest.Files)
                    {
                        var postedFile = httpRequest.Files[file];
                        var filePath   = HttpContext.Current.Server.MapPath("~/" + postedFile.FileName);
                        postedFile.SaveAs(filePath);
                        docfiles.Add(filePath);
                    }

                    result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
                }
                else
                {
                    result = Request.CreateResponse(HttpStatusCode.BadRequest);
                }

                return(ResponseMessage(result));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 5
0
        public IHttpActionResult List()
        {
            try
            {
                var oRequest = new ORequest(AccessTokenManager.ScopeAdministrators);
                if (!oRequest.IsApiAuthorized)
                {
                    return(Unauthorized());
                }

                var administrators = DataProvider.AdministratorDao.ApiGetAdministrators(oRequest.Skip, oRequest.Top);
                var oResponse      = new OResponse(administrators);

                var count = DataProvider.AdministratorDao.ApiGetCount();
                if (oRequest.Count)
                {
                    oResponse.Count = count;
                }

                if (oRequest.Top + oRequest.Skip < count)
                {
                    oResponse.Next =
                        PageUtils.AddQueryString(
                            PageUtils.RemoveQueryString(oRequest.RawUrl, new List <string> {
                        "top", "skip"
                    }),
                            new NameValueCollection
                    {
                        { "top", oRequest.Top.ToString() },
                        { "skip", (oRequest.Top + oRequest.Skip).ToString() }
                    });
                }

                return(Ok(oResponse));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(InternalServerError(ex));
            }
        }
Exemplo n.º 6
0
        public IHttpActionResult GetUser(int id)
        {
            try
            {
                var oRequest = new ORequest();

                if (!oRequest.IsAuthorized(AccessTokenManager.ScopeUsers))
                {
                    return(Unauthorized());
                }

                var user      = DataProvider.UserDao.ApiGetUser(id);
                var oResponse = new OResponse(user);

                return(Ok(oResponse));
            }
            catch (Exception ex)
            {
                LogUtils.AddErrorLog(ex);
                return(InternalServerError(ex));
            }
        }