Beispiel #1
0
        private static bool EmailCategory(Category category, RecipientSettings settings)
        {
            var frequency = (settings == null
                ? null
                : (from s in settings.CategorySettings where s.CategoryId == category.Id select s.Frequency).SingleOrDefault()) ?? category.DefaultFrequency;

            return(frequency != Frequency.Never);
        }
Beispiel #2
0
 private void AssertCategorySettings(IEnumerable <Category> categories, RecipientSettings settings)
 {
     AssertSettings(
         from c in categories where c.UserTypes.IsFlagSet(UserType.Member) select c,
         c => c.Timing,
         c => GetFrequency(c, settings),
         c => c.Name);
 }
Beispiel #3
0
 private static Frequency?GetFrequency(Guid categoryId, RecipientSettings settings)
 {
     return(settings == null
         ? null
         : (from s in settings.CategorySettings
            where s.CategoryId == categoryId
            select s.Frequency).SingleOrDefault());
 }
Beispiel #4
0
        private void UpdateNotificationCategory(ref RecipientSettings settings, Category category, bool immediate, bool updateSettings)
        {
            var notificationTester = new HtmlCheckBoxTester(Browser, category.Name);

            Assert.IsTrue(notificationTester.IsChecked == !immediate);
            notificationTester.IsChecked = immediate;

            if (updateSettings)
            {
                UpdateSettings(ref settings, category, immediate ? Frequency.Immediately : Frequency.Never);
            }
        }
Beispiel #5
0
        private void UpdateCategories(SettingsModel settingsModel, RecipientSettings settings)
        {
            var categories = _settingsQuery.GetCategories(UserType.Member);

            settingsModel.PeriodicCategories = (from c in categories
                                                where c.Timing == Timing.Periodic
                                                select new Tuple <Category, Frequency?>(c, GetFrequency(c.Id, settings))).ToList();

            settingsModel.NotificationCategories = (from c in categories
                                                    where c.Timing == Timing.Notification
                                                    select new Tuple <Category, Frequency?>(c, GetFrequency(c.Id, settings))).ToList();
        }
        public async Task <IActionResult> Withdraw(RequestVM requestVM)
        {
            ApplicationUser user = await _userManager.GetUserAsync(User);

            if (ModelState.IsValid)
            {
                decimal money = await _context.GetBalanceAsync(user.Id);

                if (money >= requestVM.Money)
                {
                    RecipientType recipient = await _context.RecipientTypes.FirstAsync(r => r.ID == requestVM.RecipientTypeID);

                    RecipientSettings recipientSettings = new RecipientSettings
                    {
                        Owner         = user,
                        Receiver      = requestVM.Receiver,
                        RecipientType = recipient
                    };
                    user.DefaultRecipientSettings = recipientSettings;

                    PayoutRequest payoutRequest = new PayoutRequest
                    {
                        Money             = requestVM.Money,
                        RecipientSettings = recipientSettings,
                        Paid = false
                    };
                    await _context.PayoutRequests.AddAsync(payoutRequest);

                    user.RequestedMoney += requestVM.Money;
                    await _context.SaveChangesAsync();
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "You do not have enough money");
                }
            }
            if (!(user.DefaultRecipientSettings is null))
            {
                requestVM.RecipientTypeID = user.DefaultRecipientSettings.ID;
                requestVM.Receiver        = user.Receiver;
            }
            ViewBag.RecipientTypeId = _context.RecipientSettings
                                      .Select(rt => new SelectListItem
            {
                Text  = rt.RecipientType.Name,
                Value = rt.ID.ToString()
            });
            return(View(requestVM));
        }
Beispiel #7
0
        private static Frequency GetFrequency(Category category, RecipientSettings settings)
        {
            if (settings == null)
            {
                return(category.DefaultFrequency);
            }

            // Look for a saved setting.

            var categorySettings = (from s in settings.CategorySettings where s.CategoryId == category.Id select s).SingleOrDefault();

            if (categorySettings == null || categorySettings.Frequency == null)
            {
                return(category.DefaultFrequency);
            }

            return(categorySettings.Frequency.Value);
        }
Beispiel #8
0
        private void AssertCategory(string name, Frequency?expectedFrequency, RecipientSettings settings)
        {
            var category = _settingsQuery.GetCategory(name);

            if (expectedFrequency == null)
            {
                if (settings != null)
                {
                    Assert.IsNull((from c in settings.CategorySettings where c.CategoryId == category.Id select c).SingleOrDefault());
                }
            }
            else
            {
                Assert.IsNotNull(settings);
                var categorySettings = (from c in settings.CategorySettings where c.CategoryId == category.Id select c).SingleOrDefault();
                Assert.IsNotNull(categorySettings);
                Assert.AreEqual(expectedFrequency.Value, categorySettings.Frequency);
            }
        }
Beispiel #9
0
        private void UpdatePeriodicCategory(ref RecipientSettings settings, Category category, Frequency newFrequency, bool updateSettings)
        {
            var frequency = GetFrequency(category, settings);

            // Check the correct frequency is being shown and that it will be changed.

            var tester = new HtmlDropDownListTester(Browser, category.Name);

            Assert.AreEqual(frequency.ToString(), tester.SelectedItem.Text);
            Assert.IsTrue(frequency != newFrequency);

            // Update the selected item.

            tester.SelectedValue = newFrequency.ToString();

            if (updateSettings)
            {
                UpdateSettings(ref settings, category, newFrequency);
            }
        }
        public static void AddPayoutRequest(ref ApplicationDbContext context, decimal money, string ownerId, bool paid)
        {
            RecipientType     recipient         = context.RecipientTypes.First(r => r.ID == 1);
            ApplicationUser   user              = context.Users.First(u => u.Id == ownerId);
            RecipientSettings recipientSettings = new RecipientSettings
            {
                Owner         = user,
                Receiver      = ownerId,
                RecipientType = recipient
            };

            user.DefaultRecipientSettings = recipientSettings;

            PayoutRequest payoutRequest = new PayoutRequest
            {
                Money             = money,
                RecipientSettings = recipientSettings,
                Paid = false
            };

            user.RequestedMoney += money;
        }
Beispiel #11
0
        private static void UpdateSettings(ref RecipientSettings settings, Category category, Frequency newFrequency)
        {
            if (settings == null)
            {
                settings = new RecipientSettings {
                    CategorySettings = new List <CategorySettings>(), DefinitionSettings = new List <DefinitionSettings>()
                }
            }
            ;

            var categorySettings = (from s in settings.CategorySettings where s.CategoryId == category.Id select s).SingleOrDefault();

            if (categorySettings == null)
            {
                categorySettings = new CategorySettings {
                    CategoryId = category.Id, Frequency = newFrequency
                };
                settings.CategorySettings.Add(categorySettings);
            }
            else
            {
                categorySettings.Frequency = newFrequency;
            }
        }
Beispiel #12
0
 private static CommunicationsModel GetCommunicationsModel(Organisation organisation, RecipientSettings settings, IEnumerable <Category> categories)
 {
     return(new CommunicationsModel
     {
         Organisation = organisation,
         Categories = (from c in categories
                       where CommunicationCategories.Contains(c.Name)
                       select new Tuple <Category, Frequency?>(c, GetFrequency(c.Id, settings))).ToList(),
     });
 }
Beispiel #13
0
        public override string ToString()
        {
            StringBuilder __sb    = new StringBuilder("SharedNotebook(");
            bool          __first = true;

            if (__isset.id)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("Id: ");
                __sb.Append(Id);
            }
            if (__isset.userId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("UserId: ");
                __sb.Append(UserId);
            }
            if (NotebookGuid != null && __isset.notebookGuid)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("NotebookGuid: ");
                __sb.Append(NotebookGuid);
            }
            if (Email != null && __isset.email)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("Email: ");
                __sb.Append(Email);
            }
            if (__isset.recipientIdentityId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("RecipientIdentityId: ");
                __sb.Append(RecipientIdentityId);
            }
            if (__isset.notebookModifiable)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("NotebookModifiable: ");
                __sb.Append(NotebookModifiable);
            }
            if (__isset.serviceCreated)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("ServiceCreated: ");
                __sb.Append(ServiceCreated);
            }
            if (__isset.serviceUpdated)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("ServiceUpdated: ");
                __sb.Append(ServiceUpdated);
            }
            if (GlobalId != null && __isset.globalId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("GlobalId: ");
                __sb.Append(GlobalId);
            }
            if (Username != null && __isset.username)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("Username: "******", ");
                }
                __first = false;
                __sb.Append("Privilege: ");
                __sb.Append(Privilege);
            }
            if (RecipientSettings != null && __isset.recipientSettings)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("RecipientSettings: ");
                __sb.Append(RecipientSettings == null ? "<null>" : RecipientSettings.ToString());
            }
            if (__isset.sharerUserId)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("SharerUserId: ");
                __sb.Append(SharerUserId);
            }
            if (RecipientUsername != null && __isset.recipientUsername)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("RecipientUsername: "******", ");
                }
                __first = false;
                __sb.Append("RecipientUserId: ");
                __sb.Append(RecipientUserId);
            }
            if (__isset.serviceAssigned)
            {
                if (!__first)
                {
                    __sb.Append(", ");
                }
                __first = false;
                __sb.Append("ServiceAssigned: ");
                __sb.Append(ServiceAssigned);
            }
            __sb.Append(")");
            return(__sb.ToString());
        }
Beispiel #14
0
 public void Write(TProtocol oprot)
 {
     oprot.IncrementRecursionDepth();
     try
     {
         TStruct struc = new TStruct("SharedNotebook");
         oprot.WriteStructBegin(struc);
         TField field = new TField();
         if (__isset.id)
         {
             field.Name = "id";
             field.Type = TType.I64;
             field.ID   = 1;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(Id);
             oprot.WriteFieldEnd();
         }
         if (__isset.userId)
         {
             field.Name = "userId";
             field.Type = TType.I32;
             field.ID   = 2;
             oprot.WriteFieldBegin(field);
             oprot.WriteI32(UserId);
             oprot.WriteFieldEnd();
         }
         if (NotebookGuid != null && __isset.notebookGuid)
         {
             field.Name = "notebookGuid";
             field.Type = TType.String;
             field.ID   = 3;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(NotebookGuid);
             oprot.WriteFieldEnd();
         }
         if (Email != null && __isset.email)
         {
             field.Name = "email";
             field.Type = TType.String;
             field.ID   = 4;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(Email);
             oprot.WriteFieldEnd();
         }
         if (__isset.notebookModifiable)
         {
             field.Name = "notebookModifiable";
             field.Type = TType.Bool;
             field.ID   = 5;
             oprot.WriteFieldBegin(field);
             oprot.WriteBool(NotebookModifiable);
             oprot.WriteFieldEnd();
         }
         if (__isset.serviceCreated)
         {
             field.Name = "serviceCreated";
             field.Type = TType.I64;
             field.ID   = 7;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(ServiceCreated);
             oprot.WriteFieldEnd();
         }
         if (GlobalId != null && __isset.globalId)
         {
             field.Name = "globalId";
             field.Type = TType.String;
             field.ID   = 8;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(GlobalId);
             oprot.WriteFieldEnd();
         }
         if (Username != null && __isset.username)
         {
             field.Name = "username";
             field.Type = TType.String;
             field.ID   = 9;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(Username);
             oprot.WriteFieldEnd();
         }
         if (__isset.serviceUpdated)
         {
             field.Name = "serviceUpdated";
             field.Type = TType.I64;
             field.ID   = 10;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(ServiceUpdated);
             oprot.WriteFieldEnd();
         }
         if (__isset.privilege)
         {
             field.Name = "privilege";
             field.Type = TType.I32;
             field.ID   = 11;
             oprot.WriteFieldBegin(field);
             oprot.WriteI32((int)Privilege);
             oprot.WriteFieldEnd();
         }
         if (RecipientSettings != null && __isset.recipientSettings)
         {
             field.Name = "recipientSettings";
             field.Type = TType.Struct;
             field.ID   = 13;
             oprot.WriteFieldBegin(field);
             RecipientSettings.Write(oprot);
             oprot.WriteFieldEnd();
         }
         if (__isset.sharerUserId)
         {
             field.Name = "sharerUserId";
             field.Type = TType.I32;
             field.ID   = 14;
             oprot.WriteFieldBegin(field);
             oprot.WriteI32(SharerUserId);
             oprot.WriteFieldEnd();
         }
         if (RecipientUsername != null && __isset.recipientUsername)
         {
             field.Name = "recipientUsername";
             field.Type = TType.String;
             field.ID   = 15;
             oprot.WriteFieldBegin(field);
             oprot.WriteString(RecipientUsername);
             oprot.WriteFieldEnd();
         }
         if (__isset.serviceAssigned)
         {
             field.Name = "serviceAssigned";
             field.Type = TType.I64;
             field.ID   = 16;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(ServiceAssigned);
             oprot.WriteFieldEnd();
         }
         if (__isset.recipientUserId)
         {
             field.Name = "recipientUserId";
             field.Type = TType.I32;
             field.ID   = 17;
             oprot.WriteFieldBegin(field);
             oprot.WriteI32(RecipientUserId);
             oprot.WriteFieldEnd();
         }
         if (__isset.recipientIdentityId)
         {
             field.Name = "recipientIdentityId";
             field.Type = TType.I64;
             field.ID   = 18;
             oprot.WriteFieldBegin(field);
             oprot.WriteI64(RecipientIdentityId);
             oprot.WriteFieldEnd();
         }
         oprot.WriteFieldStop();
         oprot.WriteStructEnd();
     }
     finally
     {
         oprot.DecrementRecursionDepth();
     }
 }