コード例 #1
0
 public void UpdatePledge(Pledge pledge)
 {
     pledge.Year      = Year;
     pledge.Amount    = Amount ?? 0;
     pledge.Frequency = Frequency;
     pledge.Fund      = Fund;
 }
コード例 #2
0
        private void SetDefaults()
        {
            FundCollection funds = new FundCollection(CurrentOrganization.OrganizationID);

            ddlFund.DataSource     = funds;
            ddlFund.DataTextField  = "FundName";
            ddlFund.DataValueField = "FundId";
            ddlFund.DataBind();
            ddlFund.Items.Insert(0, new ListItem("", "-1"));

            tbName.Focus();

            btnUpdate.Enabled = _editEnabled;

            if (_pledgeId != -1)
            {
                Pledge pledge = new Pledge(_pledgeId);
                if (pledge.PledgeId != -1)
                {
                    ddlFund.SelectedValue     = pledge.FundId.ToString();
                    dtbStartDate.SelectedDate = pledge.PledgeBeginDate;
                    dtbEndDate.SelectedDate   = pledge.PledgeEndDate;
                    lblUpdated.Text           = string.Format("Added {0:c} pledge to the {1} fund for {2}", pledge.Amount, pledge.Fund.FundName, Utilities.PersonLink(pledge.Person, Convert.ToInt32(PersonDetailPageSetting)));
                }
            }

            HyperLinkColumn hpl = (HyperLinkColumn)dgPeople.Columns[2];

            hpl.DataNavigateUrlFormatString = "~/default.aspx?page=" + PersonDetailPageSetting + "&guid={0}";
        }
コード例 #3
0
 ///<summary>Gets the portion of a pledge to link to this payment.</summary>
 public decimal GetAmount(Pledge pledge)
 {
     //FirstOrDefault() will return 0 if there are no rows.
     return(Links.Where(o => o.Pledge == pledge)
            .Select(o => o.Amount)
            .FirstOrDefault());
 }
コード例 #4
0
        protected override DataSyncContext CreateDataContext()
        {
            var context = new DataContext();

            //These columns cannot be added in the strongly-typed row
            //because the People table must be usable without pledges
            //or payments.  (eg, ListMaker or Rafflizer)
            if (!Person.Schema.Columns.Contains("TotalPaid"))               //This can be called multiple times in the designer AppDomain
            {
                Person.Schema.Columns.AddCalculatedColumn <Person, decimal>("TotalPaid", person => person.Payments.Sum(p => p.Amount));
                Person.Schema.Columns.AddCalculatedColumn <Person, decimal>("TotalPledged", person => person.Pledges.Sum(p => p.Amount));
                Person.Schema.Columns.AddCalculatedColumn <decimal>("BalanceDue", person => person.Field <decimal>("TotalPledged") - person.Field <decimal>("TotalPaid"));

                Payment.Schema.Columns.RemoveColumn(Payment.DepositColumn);

                ValueColumn uiidColumn = Person.Schema.Columns.AddValueColumn(nameof(Extensions.UIId), typeof(int?), null);
                Person.SchemaMapping.Columns.RemoveMapping(uiidColumn);
            }


            context.Tables.AddTable(Pledge.CreateTable());
            context.Tables.AddTable(Payment.CreateTable());
            context.Tables.AddTable(EmailAddress.CreateTable());
            context.Tables.AddTable(Person.CreateTable());

            var dsc = new DataSyncContext(context, new SqlServerSqlProvider(DB.Default));

            dsc.Tables.AddPrimaryMappings();
            return(dsc);
        }
コード例 #5
0
        public async Task And_Valid_Id_Specified_Then_Opportunity_Returned(
            int opportunityId,
            Pledge opportunity,
            GetStandardsListResponse response,
            [Frozen] Mock <ILevyTransferMatchingService> mockLevyTransferMatchingService,
            [Frozen] Mock <ICoursesApiClient <CoursesApiConfiguration> > client,
            GetApplicationDetailsQueryHandler getApplicationDetailsQueryHandler)
        {
            var getApplicationDetailsQuery = new GetApplicationDetailsQuery()
            {
                OpportunityId = opportunityId,
            };

            mockLevyTransferMatchingService
            .Setup(x => x.GetPledge(It.Is <int>(y => y == opportunityId)))
            .ReturnsAsync(opportunity);

            client
            .Setup(x => x.Get <GetStandardsListResponse>(It.IsAny <GetAvailableToStartStandardsListRequest>()))
            .ReturnsAsync(response);

            var result = await getApplicationDetailsQueryHandler.Handle(getApplicationDetailsQuery, CancellationToken.None);

            Assert.IsNotNull(result.Opportunity);
        }
コード例 #6
0
ファイル: PledgeController.cs プロジェクト: S0o0fia/QCC6
        public ActionResult ViewPledge(List <ViewPledgeM> rev)
        {
            foreach (var item in rev)
            {
                Pledge p = db.Pledges.Where(pp => pp.ID == item.ID).FirstOrDefault();


                foreach (var file in item.files)
                {
                    if (file != null)
                    {
                        Random   random         = new Random();
                        FileInfo fi             = new FileInfo(file.FileName);
                        DateTime d              = DateTime.Now;
                        var      InputFileName  = d.Ticks + random.Next(100, 100000000).ToString();
                        var      ServerSavePath = System.IO.Path.Combine(Server.MapPath("~/Content"), InputFileName + fi.Extension);
                        //Save file to server folder
                        file.SaveAs(ServerSavePath);

                        p.Path = InputFileName + fi.Extension;
                        db.SaveChanges();
                    }
                }
            }
            return(RedirectToAction("ViewPledge", "Pledge"));
        }
コード例 #7
0
        public int SavePledge(IConfiguration config, Pledge pledge)
        {
            var result = 0;

            using (var conn = new SqlConnection(config.GetConnectionString("MyDbConnection")))
            {
                const string command = "INSERT INTO Pledge (Name, Email, ZipCode, NonProfit, SmallBiz, IpAddress, UserAgent) VALUES (@Name, @Email, @ZipCode, @NonProfit, @SmallBiz, @IpAddress, @UserAgent);";

                using (var sqlCmd = new SqlCommand(command, conn))
                {
                    sqlCmd.Parameters.AddWithValue("@Name", pledge.Name);
                    sqlCmd.Parameters.AddWithValue("@Email", pledge.Email);
                    sqlCmd.Parameters.AddWithValue("@ZipCode", pledge.ZipCode);
                    sqlCmd.Parameters.AddWithValue("@NonProfit", pledge.NonProfit);
                    sqlCmd.Parameters.AddWithValue("@SmallBiz", pledge.SmallBiz);
                    sqlCmd.Parameters.AddWithValue("@IpAddress", pledge.IpAddress);
                    sqlCmd.Parameters.AddWithValue("@UserAgent", pledge.UserAgent);

                    //var retParam = sqlCmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
                    //retParam.Direction = ParameterDirection.ReturnValue;

                    conn.Open();
                    sqlCmd.ExecuteReader();
                    //result = Convert.ToInt32(retParam.Value);
                }
            }

            return(result);
        }
コード例 #8
0
        public int SavePledge([FromBody] Pledge pledge)
        {
            var result = 0;

            if (string.IsNullOrEmpty(pledge.ZipCode))
            {
                throw new ArgumentException("ZIP Code is required.");
            }
            if (pledge.NonProfit > 0 && pledge.SmallBiz > 0)
            {
                throw new ArgumentException("At least one of Non-profit Donation or Small Business Commitment is required.");
            }

            try
            {
                result = _db.SavePledge(_config, pledge);
            }
            catch (Exception ex)
            {
                throw new ApplicationException("Database save failed.", ex);
            }

            pledge.ID = result;

            return(pledge.ID);
        }
コード例 #9
0
        public ActionResult Pledge(Pledge pledge)
        {
            var fr = new FinancialRepository(Settings.Default.ConStr);

            fr.AddPledge(pledge);
            return(RedirectToAction("ViewMyActivity"));
        }
コード例 #10
0
ファイル: PledgesLogic.cs プロジェクト: Rumkee/Website1
        public static ChartLogic.chartData getTeamsOffsetList(Pledge P)
        {
            var Amounts  = new List <ChartLogic.chartData.chartDataItem>();
            var Labels   = new List <ChartLogic.chartData.chartDataItem>();
            var Ledgends = new List <ChartLogic.chartData.chartDataItem>();

            var GroupedOffsets = P.Offsets.GroupBy(off => off.Offsetter.Team).ToList();

            foreach (var go in GroupedOffsets)
            {
                var TeamSum = go.Sum(o => o.OffsetAmount);
                Amounts.Add(new ChartLogic.chartData.chartDataItem(TeamSum.ToString("0.00")));
                if (go.Key != null)
                {
                    Labels.Add(new ChartLogic.chartData.chartDataItem(TeamSum.ToString("0.00")));
                    Ledgends.Add(new ChartLogic.chartData.chartDataItem(go.Key.Name));
                }
                else
                {
                    Labels.Add(new ChartLogic.chartData.chartDataItem(TeamSum.ToString("0.00")));
                    Ledgends.Add(new ChartLogic.chartData.chartDataItem("Unaffiliated"));
                }
            }

            //add reminder....
            var diff = P.Activity_Amount - P.TotalOffsetAmount;

            Amounts.Add(new ChartLogic.chartData.chartDataItem("{className: \'ct-series ct-series-remainder\'," + "value: " + diff.ToString("0.00") + "}"
                                                               , ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder, diff));

            Labels.Add(new ChartLogic.chartData.chartDataItem(diff.ToString("0.00"), ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder, diff));
            Ledgends.Add(new ChartLogic.chartData.chartDataItem("Remaining", ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder));

            return(new ChartLogic.chartData(Ledgends, Amounts, Labels, GenericLogic.HTML.TEAM_HTML + "&nbsp;Teams"));
        }
コード例 #11
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,OrgId,EventId,Name,Gender,CampaignId,Email,PhoneNumber,Amount,Date,")] Pledge pledge)
        {
            if (id != pledge.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    pledge.OrgId = "cac8a4ec-edd5-4554-8c91-24574282b9c1";
                    _context.Update(pledge);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PledgeExists(pledge.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CampaignId"] = new SelectList(_context.Campaign, "Id", "OrgId", pledge.CampaignId);
            ViewData["ContactId"]  = new SelectList(_context.Contact, "Id", "Name", pledge.ContactId);
            ViewData["DonationId"] = new SelectList(_context.Donation, "Id", "OrgId", pledge.DonationId);
            ViewData["EventId"]    = new SelectList(_context.Event, "Id", "Id", pledge.EventId);
            ViewData["OrgId"]      = new SelectList(_context.Organization, "Id", "Id", pledge.OrgId);
            return(View(pledge));
        }
コード例 #12
0
ファイル: PledgesLogic.cs プロジェクト: Rumkee/Website1
        public static ChartLogic.chartData getUserOffsetList(Pledge P)
        {
            var Amounts  = new List <ChartLogic.chartData.chartDataItem>();
            var Labels   = new List <ChartLogic.chartData.chartDataItem>();
            var Ledgends = new List <ChartLogic.chartData.chartDataItem>();

            var GroupedOffsets = P.Offsets.GroupBy(off => off.Offsetter).ToList();

            foreach (var go in GroupedOffsets)
            {
                var sum = go.Sum(a => a.OffsetAmount);
                Amounts.Add(new ChartLogic.chartData.chartDataItem(sum.ToString("0.00")));

                Labels.Add(new ChartLogic.chartData.chartDataItem(sum.ToString("0.00")));
                Ledgends.Add(new ChartLogic.chartData.chartDataItem(go.Key.UserName));
            }

            //add reminder....
            var diff = P.Activity_Amount - P.TotalOffsetAmount;

            Amounts.Add(new ChartLogic.chartData.chartDataItem("{className: \'ct-series ct-series-remainder\'," + "value: " + diff + "}",
                                                               ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder, diff));

            Labels.Add(new ChartLogic.chartData.chartDataItem(diff.ToString(), ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder, diff));
            Ledgends.Add(new ChartLogic.chartData.chartDataItem("Remaining", ChartLogic.chartData.chartDataItem.chartDataItemFlags.IsRemainder));

            return(new ChartLogic.chartData(Ledgends, Amounts, Labels, GenericLogic.HTML.USER_HTML + "&nbsp;Users"));
        }
コード例 #13
0
ファイル: PledgesController.cs プロジェクト: Rumkee/Website1
        public ActionResult Edit(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Pledge pledge = db.OpenPledges.Include("Activity_Types").FirstOrDefault(p => p.PledgeID.ToString() == id);

            if (pledge == null)
            {
                Messaging.Add(Message.LevelEnum.alert_danger, "OOps! something went wrong trying to find that pledge.", Message.TypeEnum.TemporaryAlert, CurrentUser());
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            if (pledge.Originator.SinnerID != CurrentUser().Id)
            {
                Messaging.Add(Message.LevelEnum.alert_danger, "You are not the creator of that pledge", Message.TypeEnum.TemporaryAlert, CurrentUser());
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(new EditPledgeVM {
                Pledge = pledge, PledgeID = pledge.PledgeID.ToString()
            }));
        }
コード例 #14
0
            ///<summary>Gets the portion of a pledge that has not already been linked to other payments.  This will not include the portion linked to this payment, even when editing existing payments.</summary>
            public decimal GetUnlinkedAmount(Pledge pledge)
            {
                //Unlike, GetAmountDescription(), I don't need ToList()
                var payments = pledge.LinkedPayments.Where(o => o.Payment != CurrentPayment);

                return(pledge.Amount - payments.Sum(p => p.Amount));
            }
コード例 #15
0
 public PledgeKey(Pledge pledge)
     : this()
 {
     PledgeType = pledge.Type;
     SubType    = pledge.SubType;
     Date       = pledge.Date;
 }
コード例 #16
0
        public ActionResult DeleteConfirmed(int id)
        {
            Pledge pledge = db.Pledges.Find(id);

            db.Pledges.Remove(pledge);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #17
0
        public PledgeEditPopup(Pledge pledge)
        {
            InitializeComponent();
            ClientSize = pledgeEdit.Size;

            pledgeEdit.CurrentPledge             = this.pledge = pledge;
            Program.Table <Pledge>().RowRemoved += PledgeEditPopup_RowRemoved;
        }
コード例 #18
0
 public void AddPledge(Pledge pledge)
 {
     using (var context = new ShulDataContext(_conStr))
     {
         context.Pledges.InsertOnSubmit(pledge);
         context.SubmitChanges();
     }
 }
コード例 #19
0
        public ActionResult UpdatePledge(int amount, int id)
        {
            var fr = new FinancialRepository(Settings.Default.ConStr);

            fr.UpdatePledge(amount, id);
            Pledge  pledge = fr.GetPledge(id);
            decimal a      = pledge.Amount;

            return(Json(a, JsonRequestBehavior.AllowGet));
        }
コード例 #20
0
 public static SocialVM GetSocialVMForPledge(Pledge pledge, HttpRequestBase Request, UrlHelper Url)
 {
     return(new SocialVM()
     {
         Type = SocialVM.SocialType.Pledge,
         LinkID = pledge.PledgeID.ToString(),
         ShareURL = Url.Action("Details", "Pledges", new { id = pledge.PledgeID }, protocol: Request.Url.Scheme),
         Blurb = $"{pledge.TotalOffsetPercent.ToString("0")}% Complete and {(pledge.ExpiryDate - DateTime.UtcNow).TotalDays.ToString("0")} days remaining to fulfill pledge to {pledge.Charity?.Name}"
     });
 }
コード例 #21
0
 public ActionResult Edit([Bind(Include = "PledgeID,Target,Deadline,Title,Description,PledgeStatusID,Student_User_ID,Guardian_User_ID")] Pledge pledge)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pledge).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PledgeStatusID = new SelectList(db.PledgeStatuses, "PledgeStatusID", "Status", pledge.PledgeStatusID);
     return(View(pledge));
 }
コード例 #22
0
 public ActionResult Edit([Bind(Include = "Id,Name,Sampling,NetWeight,TotalWeight,PledgeTypeId")] Pledge pledge)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pledge).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PledgeTypeId = new SelectList(db.PledgeTypes, "Id", "Name", pledge.PledgeTypeId);
     return(View(pledge));
 }
コード例 #23
0
 private void MapToPledgeViewModel(Pledge pledge)
 {
     Id        = pledge.Id;
     Year      = pledge.Year;
     Amount    = pledge.Amount;
     Frequency = pledge.Frequency;
     Fund      = pledge.Fund;
     PersonId  = pledge.PersonId;
     DonorInfo = pledge.Person.LastName.Contains("Anonymous")
         ? pledge.Person.LastName
         : Utilities.FormatName(pledge.Person);
 }
コード例 #24
0
        public void SetUp()
        {
            _query  = _fixture.Create <GetConfirmationQuery>();
            _pledge = _fixture.Create <Pledge>();

            _levyTransferMatchingService = new Mock <ILevyTransferMatchingService>();

            _levyTransferMatchingService.Setup(x => x.GetPledge(_query.OpportunityId))
            .ReturnsAsync(_pledge);

            _handler = new GetConfirmationQueryHandler(_levyTransferMatchingService.Object);
        }
コード例 #25
0
ファイル: PledgeController.cs プロジェクト: S0o0fia/QCC6
        public ActionResult Index(PledgeM rev)
        {
            Pledge review = new Pledge();

            review.FactoryID  = rev.FactoryId;
            review.LocationID = rev.LocationId;
            review.Date       = DateTime.Now;
            db.Pledges.Add(review);
            db.SaveChanges();
            TempData["AlertMessage"] = "Done";
            return(RedirectToAction("Index", "Pledge"));
        }
コード例 #26
0
ファイル: qotdd.cs プロジェクト: sbennett1990/qotdd
    /// <summary>
    /// Run this process as the dictionary reader (engine).
    /// </summary>
    private static void Reader(string readerHandle)
    {
        try {
            Pledge.Init("stdio rpath cpath sendfd recvfd vminfo");
        }
        catch (PlatformNotSupportedException e) {
            // Log a warning that the process isn't pledge(2)'d, but move on
        }
        Reader reader = new Reader(Dictionary_Path, pipeHandleAsString: readerHandle);

        reader.Start();
    }
コード例 #27
0
 ///<summary>Updates this instance's values after a change in a corresponding pledge.</summary>
 ///<param name="existingPledge">The pledge to update from, or null to null out this pledge.</param>
 public void UpdateFromPledge(Pledge existingPledge)
 {
     if (existingPledge != null)
     {
         Amount = existingPledge.Amount;
         Note   = existingPledge.Note;
     }
     else
     {
         Note = null;
     }
 }
コード例 #28
0
ファイル: OpenGraph.cs プロジェクト: Rumkee/Website1
        public static OpenGraphVM GetOpenGraphVMForPledge(Pledge pledge, HttpRequestBase Request, UrlHelper Url)
        {
            var amt            = CurrencyLogic.ToCurrency(pledge.Contributors, pledge.Originator.Currency).ToString("0.00");
            var currencyPrefix = CurrencyLogic.GetCurrencyPrefix(pledge.Originator.Currency);

            return(new OpenGraphVM()
            {
                type = "article",
                title = "Help Yourself, Helping Others",
                description = $"{currencyPrefix}{amt} Pledged to {pledge.Charity.Name}",
                image = $"{Request.Url.Scheme}://{Request.Url.Authority}{Url.Content("~/Images/Photos/FB_SiteImage1.jpg")}"
            });
        }
コード例 #29
0
        public override int GetHashCode()
        {
            int hash = 2;

            hash *= 3 + ((PatreonName == null) ? 0 : PatreonName.GetHashCode());
            hash *= 5 + ((EmailAddress == null) ? 0 : EmailAddress.GetHashCode());
            hash *= 7 + Pledge.GetHashCode();
            hash *= 11 + ((ProducerName == null) ? 0 : ProducerName.GetHashCode());
            hash *= 13 + ((DiscordName == null) ? 0 : DiscordName.GetHashCode());
            hash *= 17 + ((MinecraftIGN == null) ? 0 : MinecraftIGN.GetHashCode());
            hash *= 19 + LifetimeContribution.GetHashCode();
            return(hash);
        }
コード例 #30
0
        // GET: Pledges/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Pledge pledge = db.Pledges.Find(id);

            if (pledge == null)
            {
                return(HttpNotFound());
            }
            return(View(pledge));
        }
コード例 #31
0
ファイル: UrlHelperExtensions.cs プロジェクト: akoltz/ggcbnet
 public static string PledgeDeleteLink(this UrlHelper Url, Pledge pledge, string returnUrl = null)
 {
     return Url.Action("Delete", "Pledge", new { EventId = pledge.EventId, donor = pledge.Donor.UserName, receiver = pledge.Receiver.User.UserName, returnUrl = returnUrl });
 }
コード例 #32
0
ファイル: PledgeManager.cs プロジェクト: akoltz/ggcbnet
 public Pledge AddPledge(EventRegistration PlayerRegistration, GGCharityUser donor, Decimal Amount)
 {
     var pledge = new Pledge(PlayerRegistration, donor, Amount);
     _context.Pledges.Add(pledge);
     return pledge;
 }