Esempio n. 1
0
        public HttpResponseMessage Delete([FromUri] List <Guid> fileMandatorUids, [FromUri] string filePath)
        {
            try
            {
                DeleteFileQuery query = new DeleteFileQuery()
                {
                    MandatorUIDs            = RequestMandatorUIDs,
                    FilePath                = filePath,
                    FileMandatorUIDs        = fileMandatorUids,
                    FileSystemDirectoryPath = ConfigurationManager.AppSettings["FileSystemDirectory"]
                };

                DeleteFileQueryHandler handler = new DeleteFileQueryHandler(query, UnityContainer);

                handler.Handle();

                return(Request.CreateResponse(HttpStatusCode.Accepted));
            }
            catch (UnauthorizedAccessException e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, e));
            }
            catch (FileNotFoundException e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, e));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e));
            }
        }
Esempio n. 2
0
        public void Delete([FromQuery] DeleteFileQuery query)
        {
            var fileInfo = fileInfoProvider.GetFileInfo(query.File, HttpContext.Request.PathBase);

            if (fileInfo.PointsToHtmlFile)
            {
                fileFinder.ErasePage(fileInfo.HtmlFile);
            }
            else
            {
                fileFinder.DeleteFile(fileInfo.DerivedFileName);
            }
        }
 public DeleteFileQueryHandler(DeleteFileQuery query, IUnityContainer unityContainer) : base(unityContainer)
 {
     _query = query;
 }