コード例 #1
0
 public void Cannot_EditWithouId_BadRequest()
 {
     HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     int? x = null;
     var result = unitTestController.Edit(x) as HttpStatusCodeResult;
     Assert.AreEqual(expected.StatusCode, result.StatusCode);
 }
コード例 #2
0
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (!filterContext.Controller.ViewData.ModelState.IsValid)
            {
                if (filterContext.HttpContext.Request.HttpMethod == "GET")
                {
                    var result = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                    filterContext.Result = result;
                }
                else
                {
                    var result = new ContentResult();
                    string content = JsonConvert.SerializeObject(filterContext.Controller.ViewData.ModelState,
                        new JsonSerializerSettings
                        {
                            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                        });
                    result.Content = content;
                    result.ContentType = "application/json";

                    filterContext.HttpContext.Response.StatusCode = 400;
                    filterContext.Result = result;
                }
            }
        }
コード例 #3
0
        public void GetData_WhenCalledWithFoo_InvokeReportAbuseUsageAndReturnsHttpDenied()
        {
            // Arrange
            var controller = new DataPropertyController
            {
                DataService = dataService,
                ReportService = reportService
            };

            var forbidden = new HttpStatusCodeResult(HttpStatusCode.Forbidden);

            // act
            ActionResult foo = controller.GetData(subject: "foo");
            var fooHttpStatusCodeResult = foo as HttpStatusCodeResult;

            // Assert
            Assert.IsNotNull(fooHttpStatusCodeResult);
            Assert.AreEqual(fooHttpStatusCodeResult.StatusCode, forbidden.StatusCode);

            dataService
                .AssertWasNotCalled(s => s.GetData(Arg<string>.Is.Anything));

            reportService
                .AssertWasCalled(s => s.ReportAbuseUsage(Arg<string>.Is.Anything));
        }
コード例 #4
0
 public void Cannot_EditNonExistsSolution_NotFound()
 {
     MockDbRepository.Mock.Setup(x => x.GetUnitTestSolution(It.IsAny<int>())).Returns((UnitTestSolution)null);
     HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.NotFound);
     var result = unitTestController.Edit(It.IsAny<int>()) as HttpStatusCodeResult;
     Assert.AreEqual(expected.StatusCode, result.StatusCode);
 }
コード例 #5
0
        public void Cannot_Delete_NonExists_Reference()
        {
            HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.NotFound);
            ServiceMock.Setup(x => x.GetSetupSolution(It.IsAny<int>())).Returns((SetupSolution)null);

            var result = referencesController.Delete(10) as HttpStatusCodeResult;
            Assert.AreEqual(expected.StatusCode, result.StatusCode);
        }
コード例 #6
0
ファイル: httpUtil.cs プロジェクト: CUAHSI/HydroClient
        //Set a response status code
        public static void setHttpResponseStatusCode( ref HttpResponseBase httpResponseBase, HttpStatusCode httpStatusCode, bool bTrySkipIisCustomErrors = true)
        {
            if (null != httpStatusCode)
            {
                HttpStatusCodeResult httpResult = new HttpStatusCodeResult(httpStatusCode);

                httpResponseBase.StatusCode = httpResult.StatusCode;
                httpResponseBase.StatusDescription = httpResult.StatusDescription;
                httpResponseBase.TrySkipIisCustomErrors = bTrySkipIisCustomErrors;	//If true, tell IIS to use your error text not the 'standard' error text!!
            }
        }
コード例 #7
0
 private ActionResult GetBoughtStatusCode(bool bought)
 {
     ActionResult result = null;
     if (bought)
     {
         result = new HttpStatusCodeResult((int)HttpStatusCode.OK);
     }
     else
     {
         result = new HttpStatusCodeResult((int)HttpStatusCode.NotFound);
     }
     return result;
 }
コード例 #8
0
 public ActionResult Create(Locacao obj)
 {
     try
     {
         obj.DataDeLocacao = DateTime.Now;
         LocacaoBO.Save<Locacao>(obj);
         HttpStatusCodeResult http = new HttpStatusCodeResult(HttpStatusCode.OK);
         return http;
     }
     catch
     {
         return View();
     }
 }
コード例 #9
0
 public ActionResult SetPosition(double longitude, double latitude)
 {
     // localhost:58718/Position/SetPosition?latitude=48.19541602&longitude = 11.61310136
     ActionResult result;
     using (PositionContext positionContext = new PositionContext())
     {
         Position position = positionContext.Positions.First<Position>();
         position.Longitude = longitude;
         position.Latitude = latitude;
         position.Time = DateTime.Now;
         positionContext.SaveChanges();
         result = new HttpStatusCodeResult(System.Net.HttpStatusCode.OK);
     }
     return result;
 }
        public ActionResult jcc(System.Web.HttpRequestBase request)
        {
            // string action = base.RouteData.GetRequiredString("action");
            ActionResult result;
            try
            {
                Tracing.DataTrace.TraceEvent(TraceEventType.Verbose, 0, "jcc payment data: {0}", new object[]
                {
                    base.Request.DumpValues()
                });

                this.CheckServerAddressList();

                var paymentResult = JccPaymentResult.Create(request);
                if (paymentResult.Status == JccPaymentResult.OpeationStatus.Success)
                {
                    ConfirmInvoiceResult invoiceResult = BookingProvider.ConfirmInvoice(paymentResult.InvoiceNumber.Trim());
                    Tracing.DataTrace.TraceEvent(TraceEventType.Information, 0, "jcc transaction: invoice: '{0}', status: '{1}', invoice confirmation: '{2}'", new object[]
                    {
                        paymentResult.InvoiceNumber,
                        paymentResult.Status,
                        invoiceResult.IsSuccess ? "SUCCESS" : "FAILED"
                    });
                    if (!invoiceResult.IsSuccess)
                    {
                        throw new System.Exception(string.Format("invoice confirm error {0}", invoiceResult.ErrorMessage));
                    }
                }
                else
                {
                    Tracing.DataTrace.TraceEvent(TraceEventType.Information, 0, "jcc transaction: invoice: '{0}', status: '{1}'", new object[]
                    {
                        paymentResult.InvoiceNumber,
                        paymentResult.Status
                    });
                }
                result = new EmptyResult();
            }
            catch (System.Exception ex)
            {
                Tracing.DataTrace.TraceEvent(TraceEventType.Error, 0, "jcc payment error: {0}", new object[]
                {
                    ex.ToString()
                });
                result = new HttpStatusCodeResult(500);
            }
            return result;
        }
コード例 #11
0
        public ActionResult AddMessage(MessageViewModel messageViewModel)
        {
            ActionResult result;

            if (ModelState.IsValid)
            {
                writer.AddMessage(messageViewModel);
                result = Json(messageViewModel);
            }
            else
            {
                result = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }

            return result;
        }
コード例 #12
0
 public override void ExecuteResult(ControllerContext context)
 {
     bool notModified = IsNotModified(context.HttpContext.Request);
     if (notModified)
     {
         var statusCode = new HttpStatusCodeResult(304, "Not Modified");
         statusCode.ExecuteResult(context);
     }
     else
     {
         context.HttpContext.Response.Cache.SetLastModified(lastModified);
         // HttpCachePolicyは、CacheabilityがPrivate(デフォルト値)に設定されていると、
         // SetETag()でETagヘッダを追加しません。(既知の不具合)
         context.HttpContext.Response.AddHeader("ETag", guid.ToString());
         base.ExecuteResult(context);
     }
 }
コード例 #13
0
        public ActionResult AddProduct(string title,string description,string price)
        {
            HttpStatusCodeResult httpCode = new HttpStatusCodeResult(HttpStatusCode.MethodNotAllowed);

            var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);

            Product newProduct = new Product();
            newProduct.Title = title;
            newProduct.Description = description;
            newProduct.Price = price;

            if (SharePointService.AddProduct(spContext, newProduct))
            {
                httpCode = new HttpStatusCodeResult(HttpStatusCode.Created);
            }

            return httpCode;
        }
コード例 #14
0
ファイル: PostsController.cs プロジェクト: G-Rad/nzblog
        public ActionResult Delete(int id)
        {
            ActionResult result;

            using (var unit = _unitOfWork.BeginTransaction())
            {
                var post = _postRepository.GetById(id);

                if (post != null)
                {
                    _postRepository.Delete(post);
                    result = new HttpStatusCodeResult(HttpStatusCode.OK);
                }
                else
                {
                    result = new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Post with given id doesn't exist");
                }

                unit.Commit();
            }

            return result;
        }
コード例 #15
0
        public ActionResult Create(BlogPost blogPost)
        {
            ActionResult actionResult;

            try
            {
                if (blogPost.IsNew)
                {
                    _blogPostService.CreateBlogPost(blogPost);
                    actionResult = RedirectToAction("Index", "Home");
                }
                else
                {
                    actionResult = new HttpStatusCodeResult(HttpStatusCode.Conflict);
                }
            }
            catch (Exception)
            {
                actionResult = new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
            }

            return actionResult;
        }
コード例 #16
0
 public ActionResult CharecterSheet(int? id, bool isAlt = false)
 {
     ActionResult response;
     if (id == null)
     {
         response = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     else
     {
         Character character = new Character().Load(id.Value);
         if (character == null)
         {
             response = HttpNotFound();
         }
         else
         {
             string charecterSheet = character.GetPdf(isAlt);
             FileStreamResult result = new FileStreamResult(new System.IO.FileStream(charecterSheet, System.IO.FileMode.Open), "application/pdf");
             result.FileDownloadName = charecterSheet.Split('\\').Last();
             response = result;
         }
     }
     return response;
 }
        public ActionResult Update(int Id, string Name, string Email) {
            ActionResult result = null;

            User user = new User {Id = Id, Name = Name, Email = Email};
            switch (Users.Update(user)) {
                case UserUpdateResult.Updated:
                    result = Json(Users.GetById(Id));
                    break;

                case UserUpdateResult.NoSuchUser:
                    result = new HttpNotFoundResult();
                    break;

                case UserUpdateResult.EmailInvalid:
                    result = new HttpStatusCodeResult(400);
                    break;

                case UserUpdateResult.NameOrEmailAlreadyTaken:
                    result = new HttpStatusCodeResult(409);
                    break;
            }

            return result;
        }
コード例 #18
0
 // GET: Characters/Details/5
 public ActionResult Details(int? id)
 {
     ActionResult response;
     if (id == null)
     {
         response = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     }
     else
     {
         Character character = new Character().Load(id.Value);
         if (character == null)
         {
             response = HttpNotFound();
         }
         else
         {
             string sheetLocation = CharecterExtensions.Common.folderBase
                 + "Character Sheet - Form Fillable.pdf";
             character.GetPdf(false);
             sheetLocation = CharecterExtensions.Common.folderBase
                 + "Character Sheet - Alternative - Form Fillable.pdf";
             character.GetPdf(true);
             response = View(character);
         }
     }
     return response;
 }
コード例 #19
0
        public void DetailsNullId()
        {
            //Get member from db
            Member member = db.Members.FirstOrDefault();

            //Set controller context
            controller.ControllerContext = MockHelpers.GetControllerContext(db, member, "Member");

            //Call the controller method
            HttpStatusCodeResult result = (HttpStatusCodeResult)controller.Details(null);
            HttpStatusCodeResult badRequest = new HttpStatusCodeResult(HttpStatusCode.BadRequest);

            //Compare model to expected collection
            Assert.IsInstanceOf(badRequest.GetType(), result);
        }
コード例 #20
0
        public virtual ActionResult Index()
        {
            var logger = ObjectFactory.GetInstance<Logger>();
            logger.Info("[Controllers].[IncomingSmsController].[Index] invoked.");

            ActionResult result;
            try
            {
                logger.Debug("[Controllers].[IncomingSmsController].[Index] initializing [connections].");
                var connections = new DatabaseConnections();

                //parse incoming sms data from GET request params
                logger.Debug("[Controllers].[IncomingSmsController].[Index] parsing [request].");
                var request = new Models.IncomingSms.Request(HttpContext.Request);

                // select relating transformations
                var transformationsSelector = Predicates.Field<Transformation>(t => t.PhoneNumber, Operator.Eq, request.To);
                IEnumerable<Transformation> transformations;
                logger.Debug("[Controllers].[IncomingSmsController].[Index] selecting [transformations].");
                using (var connection = connections.SmsToMail)
                {
                    transformations = connection.GetList<Transformation>(transformationsSelector).ToList();
                }

                //for each transformation in set
                logger.Debug("[Controllers].[IncomingSmsController].[Index] handling [transformations].");
                foreach (var transformation in transformations)
                {
                    logger.Debug("[Controllers].[IncomingSmsController].[Index] [transformation].[Id] = '{0}'.", transformation.Id);
                    logger.Trace("[Controllers].[IncomingSmsController].[Index] [transformation].[TenantId] = '{0}'.", transformation.TenantId);
                    logger.Trace("[Controllers].[IncomingSmsController].[Index] [transformation].[Email] = '{0}'.", transformation.Email);

                    try
                    {
                        // find related tenant data
                        Tenant tenant;
                        logger.Trace("[Controllers].[IncomingSmsController].[Index] selecting [tenant].");
                        using (var connection = connections.SmsToMail)
                        {
                            tenant = connection.Get<Tenant>(transformation.TenantId);
                        }

                        // compose email message
                        logger.Trace("[Controllers].[IncomingSmsController].[Index] mapping [tenant] to [email].");
                        var email = Mapper.Map<Entities.Tenant, Models.IncomingSms.Email>(tenant);
                        email.To = transformation.Email;
                        email.Text = request.Text;

                        // send it
                        logger.Debug("[Controllers].[IncomingSmsController].[Index] [email].[Send].");
                        email.Send();

                        // compose activity log
                        logger.Trace("[Controllers].[IncomingSmsController].[Index] mapping [request] to [activity].");
                        var activity = Mapper.Map<Models.IncomingSms.Request, Entities.Activity>(request);
                        activity.TransformationId = transformation.Id;
                        activity.EmailTimestamp = DateTime.Now;

                        // save it
                        logger.Trace("[Controllers].[IncomingSmsController].[Index] inserting [activity].");
                        using (var connection = connections.SmsToMail)
                        {
                            connection.Insert(activity);
                        }

                        logger.Info("[Controllers].[IncomingSmsController].[Index] successfully handled [transformation] with [Id] = '{0}'.", transformation.Id);
                    }
                    catch (Exception ex)
                    {
                        // in case of error per transformation
                        logger.Error("[Controllers].[IncomingSmsController].[Index] [transformation] catched exception.");
                        SmsToMail.Server.Error.Log(ex);
                    }
                }

                result = new HttpStatusCodeResult(HttpStatusCode.OK);
                logger.Info("[Controllers].[IncomingSmsController].[Index] successfully handled request.");
            }
            catch (Exception ex)
            {
                // in case of general error
                logger.Error("[Controllers].[IncomingSmsController].[Index] catched exception.");
                SmsToMail.Server.Error.Log(ex);
                result = new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
            }

            logger.Trace("[Controllers].[IncomingSmsController].[Index] finished work.");
            return result;
        }
コード例 #21
0
        // GET: BlogPost/Details/5
        public ActionResult Details(int id)
        {
            ActionResult actionResult = null;
            BlogPost blogPost = null;

            try
            {
                blogPost = _blogPostService.GetBlogPost(id);
                if (blogPost != null)
                    actionResult = View(blogPost);
            }
            catch (Exception)
            {
                actionResult = new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
            }

            if (blogPost == null)
                actionResult = new HttpStatusCodeResult(HttpStatusCode.NotFound);

            return actionResult;
        }
コード例 #22
0
 public void Cannot_EditNonExistsReferences_NotFound()
 {
     HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.NotFound);
     var result = referencesController.Edit(10) as HttpStatusCodeResult;
     Assert.AreEqual(expected.StatusCode, result.StatusCode);
 }
コード例 #23
0
ファイル: Global.asax.cs プロジェクト: colinbowern/TwoTierSts
 public ActionResult Handle(PolicyViolationException exception)
 {
     var result = new HttpStatusCodeResult((int) HttpStatusCode.Unauthorized) as ActionResult;
     var noRedirect = HttpContext.Current.Items["NoRedirect"];
     if (noRedirect == null)
     {
         result = new RedirectToRouteResult(new RouteValueDictionary(new
         {
             controller = "Account",
             action = "SignIn",
             returnUrl = HttpContext.Current.Request.RawUrl
         }));
     }
     return result;
 }
コード例 #24
0
 public StatusCodeExceptionActionResult(StatusCodeException exception)
 {
     Result = new HttpStatusCodeResult(exception.StatusCode, exception.StatusDescription);
 }
コード例 #25
0
 public void Cannot_EditPostNonExistsSourceCodes_NotFound()
 {
     HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.NotFound);
     Item sourceCode = new Item() { Id = 11 };
     var result = sourceCodesController.EditPost(sourceCode) as HttpStatusCodeResult;
     ServiceMock.Verify(m => m.GetSourceCode(11, false), Times.Once);
     Assert.AreEqual(expected.StatusCode, result.StatusCode);
 }
コード例 #26
0
 public void Cannot_Delete_WithoutId()
 {
     HttpStatusCodeResult expected = new HttpStatusCodeResult(HttpStatusCode.BadRequest);
     var result = unitTestController.Delete(null) as HttpStatusCodeResult;
     Assert.AreEqual(expected.StatusCode, result.StatusCode);
 }
コード例 #27
0
        private static bool VerifyToken(string access_token, out ActionResult result)
        {
            result = new HttpStatusCodeResult(
                HttpStatusCode.Conflict,
                "Invalid access token. Please try with the correct one");

            return !string.IsNullOrWhiteSpace(access_token) && _token.Equals(access_token);
        }
コード例 #28
0
        public ActionResult Process(FormCollection oColl)
        {
            HttpStatusCodeResult httpResult;
            string recipient = string.Empty;
            Organization org;
            string sender = string.Empty;
            string body = string.Empty;
            string attachmentData = string.Empty;
            string userIP = string.Empty;
            string userDomain = string.Empty;
            string json = string.Empty;
            string err = string.Empty;
            string uvFileCnt = string.Empty;
            string vFileCnt = string.Empty;
            int fileLen = 0;
            byte[] fileContent = new byte[0];
            string attachmentName = string.Empty;
            StringBuilder sb = new StringBuilder();
            try
            {
                recipient = Request.Unvalidated.Form["recipient"];
                string[] recipientParts = recipient.Split('@');
                using (var db = new StationCADDb())
                {
                    string tag = recipientParts[0];
                    org = db.Organizations
                        .Include("NotificationRules")
                        .Where(x => x.Tag == tag).FirstOrDefault();
                    if (org == null)
                        throw new InvalidProgramException(string.Format("Invalid Organization tag: {0}", tag));
                }
                sender = Request.Unvalidated.Form["sender"];
                body = Request.Unvalidated.Form["body-plain"];
                DateTime eventRecieved = DateTime.Now;
                // Validate the sender
                userIP = Request.UserHostAddress;
                userDomain = Request.UserHostName;
                sb.AppendLine(string.Format("User IP:{1}{0}{0}", Environment.NewLine, userIP));
                sb.AppendLine(string.Format("User Domain:{1}{0}{0}", Environment.NewLine, userDomain));

                var formkeys = Request.Unvalidated.Form.Keys;

                sb.AppendLine(string.Format("Keys:{0}", Environment.NewLine));
                foreach (var item in formkeys)
                {
                    string value = Request.Unvalidated.Form[item.ToString()];
                    sb.AppendLine(string.Format("Keys: {1}; Value: {2}{0}", Environment.NewLine, item.ToString(), value));
                }
                vFileCnt = Request.Files.Count.ToString();
                uvFileCnt = Request.Unvalidated.Files.Count.ToString();
                sb.AppendLine(string.Format("Attachment Count: {1}, {2}{0}{0} ", Environment.NewLine, vFileCnt, uvFileCnt));
                if (Request.Unvalidated.Files.Count > 0)
                {
                    // for this example; processing just the first file
                    HttpPostedFileBase file = Request.Unvalidated.Files[0];
                    fileLen = file.ContentLength;
                    attachmentName = file.FileName;
                    sb.AppendLine(string.Format("Length:{0}{1}{0}{0}", Environment.NewLine, fileLen));
                    if (fileLen >= 0)
                    {
                        // throw an error here if content length is not > 0
                        // you'll probably want to do something with file.ContentType and file.FileName
                        fileContent = new byte[file.ContentLength];
                        file.InputStream.Read(fileContent, 0, file.ContentLength);
                        sb.AppendLine(string.Format("File Content Length:{0}{1}{0}{0}", Environment.NewLine, fileContent.Length));
                        // fileContent now contains the byte[] of your attachment...
                        attachmentData = System.Text.Encoding.Default.GetString(fileContent);
                        sb.AppendLine(string.Format("Attachment Data:{0}{1}{0}{0}", Environment.NewLine, attachmentData));
                    }
                }

                DispatchManager dispMgr = new DispatchManager();
                DispatchEvent eventMsg;
                if (attachmentData.Length > 0)
                {
                    eventMsg = dispMgr.ProcessEvent(org, attachmentData, DispatchManager.MessageType.Html);
                    eventMsg.FileName = attachmentName;
                }
                else
                    eventMsg = dispMgr.ProcessEvent(org, body, DispatchManager.MessageType.Text);

                json = JsonUtil<DispatchEvent>.ToJson(eventMsg);
                sb.AppendLine(string.Format("Json Body:{0} {1}{0}{0}", Environment.NewLine, json));
                httpResult = new HttpStatusCodeResult(HttpStatusCode.OK);
            }
            catch (Exception ex)
            {
                string errMsg = string.Format("An error occurred in EventController.Process(). Exception: {0}", ex.Message);
                base.LogException(errMsg, ex);
                sb.AppendLine(string.Format("Error:{0}{1}{0}{0}", Environment.NewLine, err));
                httpResult = new HttpStatusCodeResult(HttpStatusCode.InternalServerError, string.Format("Error encountered processing the event. Message: {0}", ex.Message));
            }
            finally
            {
                base.LogInfo(sb.ToString());
            }
            return httpResult;
        }
コード例 #29
0
 private void GenerateNotFoundStatus()
 {
     var notFoundResult = new HttpStatusCodeResult(HttpStatusCode.NotFound);
     notFoundResult.ExecuteResult(ControllerContext);
 }
コード例 #30
0
 public HttpStatusCodeContextResult(HttpStatusCodeResult original)
     : base(original.StatusCode, original.StatusDescription)
 {
     _original = original;
 }