예제 #1
0
        public ActionResult Reset(ResetModel model)
        {
            string message;

            // Email address must be specified.
            if (!string.IsNullOrWhiteSpace(model.Email))
            {
                // Get all accounts with that email address; check if there are any.
                var accounts = new LinqMetaData().User.Where(u => u.EmailAddress == model.Email);
                if (accounts.Any())
                {
                    // Have some accounts. Filter out all but the unrestricted ones.
                    accounts = GetUnrestictedOnly(accounts, model.UserName, out message);
                    if (accounts.Any())
                    {
                        // Have unrestricted accounts. They will be reset. Assume there's
                        // more than one. If more than one, we don't necessarily know the
                        // person's name.
                        string firstName = null;
                        string lastName  = null;
                        if (accounts.Count() == 1)
                        {
                            // Only one. So get person's name.
                            var account = accounts.First();
                            firstName = account.FirstName;
                            lastName  = account.LastName;
                        }

                        // Create restriction on each account, send email and tell user it's done.
                        var key = CreateRestriction(accounts, model.Email, firstName != null);
                        SendResetEmail(model.Email, key, firstName, lastName);
                        return(RedirectToAction("ResetSuccess"));
                    }
                }
                else
                {
                    // No accounts with the specified email address. Tell user.
                    message = Account.Invalid_EmailNotMatched;
                }
            }
            else
            {
                // No email address. Tell user to enter one.
                message = Account.Invalid_EmailNotSpecified;
            }

            ModelState.AddModelError("", message);

            // If we got this far, something failed, redisplay form.
            return(View());
        }
예제 #2
0
        private static IEnumerable <Point> GetValue(IEnumerable <AnalysisResultEntity> orderedGroup, Graphics g, double mean, double deviation, double increment)
        {
            var organs     = new LinqMetaData().Organ;
            var sliceCount = 0;

            // add group to image
            foreach (var result in orderedGroup)
            {
                ++sliceCount;
                // Calculate the radius of the point
                var pointValue  = (result.JsInteger - mean) / deviation;
                var deltaValue  = Convert.ToInt32(Math.Round((pointValue * HALF_BAR_HEIGHT), 0));
                var centerPoint = result.FingerDesc.Contains("L") ? LeftCenterPoint : RightCenterPoint;
                var plotPoint   = new PlotPoint
                {
                    Point =
                        CalcDisplayPoint(centerPoint, BASE_RADIUS + deltaValue, sliceCount * increment),
                    TextPoint  = CalcDisplayPoint(centerPoint, TEXT_RADIUS, sliceCount * increment),
                    Value      = pointValue,
                    StartPoint = centerPoint,
                    Brush      = result.IsFiltered
                                                    ? new SolidBrush(FilteredColor)
                                                    : new SolidBrush(UnFilteredColor)
                };
                if (!result.IsFiltered)
                {
                    var isLeft = result.FingerDesc.Contains("L");
                    var organ  = isLeft
                                    ? organs.First(x => x.LComp == result.FingerDesc)
                                    : organs.First(x => x.RComp == result.FingerDesc);

                    plotPoint.OrganText = organ.Description.Replace(" - Right", "").Replace(" - Left", "");
                }

                MarkPoint(g, plotPoint);
                yield return(plotPoint.Point);
            }
        }
        public void User_Can_Delete_Message()
        {
            // pick two users to send to
            var users = new LinqMetaData().Organization.First(x => x.Users.Count(y => y.Settings.Any(z => z.Name == "SupportUser")) > 1).Users;

            Assert.IsTrue(users.Count() > 1);
            var fromUser = users.First(x => x.Settings.Any(y => y.Name == "SupportUser"));
            var toUser   = users.Last(x => x.Settings.Any(y => y.Name == "SupportUser"));

            var controller = Mock();
            var request    = controller.Mock(x => x.HttpContext.Request);

            request.SetupGet(x => x["Send"]).Returns("true");
            controller.HttpContext.User = new RolePrincipal(new GenericIdentity(fromUser.Username));
            controller.Invoke(x => x.Compose(new ComposeMail
            {
                Body    = "This is a test.",
                Subject = "Test Subject",
                To      =
                    toUser.Settings.First(y => y.Name == "SupportUser").Value + '@' +
                    SupportController.DOMAIN
            }));
            Thread.Sleep(5000); // give exchange time to deliver it

            // check the inbox of the receiver
            using (var imap = SupportController.EnsureConnection(toUser))
            {
                var msgCount = imap.SelectMailbox("INBOX").NumMsg;
                Assert.IsTrue(msgCount > 0);

                var msgs =
                    imap.Search(SearchCondition.Deleted().Not()).Select(
                        x =>
                        imap.GetMessage(x, true, true,
                                        new[] { "date", "subject", "from", "content-type", "to", "cc", "message-id" }));
                var message =
                    msgs.Where(x => x.Subject.Contains("Test Subject")).
                    OrderByDescending(x => x.Date).FirstOrDefault();
                Assert.IsNotNull(message);

                message = imap.GetMessage(message.Uid, false, false);
                Assert.IsTrue(message.Body.Contains("This is a test."));

                controller = Mock();
                controller.Invoke(x => x.Delete("INBOX", message.Uid));
            }
        }