public IActionResult Post(int id) { try { DonationDetails obj = new DonationDetails(); var objFromDb = _unitOfWork.PendingWire.GetFirstOrDefault(u => u.Id == id); if (objFromDb == null) { return(Json(new { success = false, message = "Error while approving" })); } obj.UserId = objFromDb.UserId; obj.DonationCauseId = objFromDb.DonationCauseId; obj.DonorName = objFromDb.DonorName; obj.DonationTotal = objFromDb.DonationTotal; obj.PaymentStatus = objFromDb.PaymentStatus; obj.Email = objFromDb.Email; obj.Comments = objFromDb.Comments; obj.FollowUp = objFromDb.FollowUp; obj.TransactionId = objFromDb.Id.ToString(); obj.DonationDate = objFromDb.DonationDate; obj.DonationCause = objFromDb.DonationCause; _unitOfWork.PendingWire.Remove(objFromDb); _unitOfWork.DonationDetails.Add(obj); _unitOfWork.Save(); } catch (Exception ex) { return(Json(new { success = false, message = "Error while approving" })); } return(Json(new { success = true, message = "Approval Successful" })); }
public ActionResult Return(DonationDetails model, int projectid = 0) { donation donation = db.donations.FirstOrDefault(x => x.InvestmentID == model.InvestmentID && x.user.UserName.ToLower() == User.Identity.Name.ToLower()); if (donation != null) { donation.Description = model.Description; db.SaveChanges(); } if (projectid > 0) { return(RedirectToAction("ThankYou", "Projects", new { id = projectid })); } return(RedirectToAction("Index", "Projects")); }
public ActionResult AddDonation(UserDonation objDonation) { objDonation.RequestDate = DateTime.Now.Date; objDonation.DonationStatus = Shared.Constants.DonationStatusPending; string ret = Shared.Constants.MSG_ERR_NOUSEREXIST.Text; MySqlConnection conn = Shared.BaseManager.PrimaryConnection(); conn.Open(); var transaction = conn.BeginTransaction(); ret = UserDonationManager.SaveUserDonation(objDonation, conn, transaction); bool err = false; if (!ret.Equals(Shared.Constants.MSG_ERR_DBSAVE.Text)) { for (int i = 0; i < objDonation.ItemName.Count; i++) { DonationDetails objDD = new DonationDetails(); objDD.DONATIONID = Convert.ToInt32(ret); objDD.ITEMNAME = objDonation.ItemName[i]; objDD.QUANTITY = objDonation.Quantity[i]; string res = DonationDetailManager.SaveDonationDetail(objDD, conn, transaction); if (res.Equals(Shared.Constants.MSG_ERR_DBSAVE.Text)) { err = true; break; } } if (!err) { transaction.Commit(); conn.Close(); conn.Dispose(); return(RedirectToAction("GetAllPendingDonation", "Admin")); } //return RedirectToAction("GetAllPendingDonation", "Admin"); } transaction.Rollback(); conn.Close(); conn.Dispose(); return(RedirectToAction("AddDonation", "Admin")); }
public ActionResult FindAMatch() { var UserId = User.Identity.GetUserId(); ApplicationUser AppUser; using (var db = new ApplicationDbContext()) { AppUser = db.Users.Find(UserId); BankAccount donor = (from ba in db.BankAccounts where ba.BankAccountOwnerId == AppUser.Id select ba).FirstOrDefault(); string AdminUid = (from r in db.Roles where r.Name == "Administrator" select r).FirstOrDefault().Users.FirstOrDefault().UserId; WaitingTicket Ticket = (from t in db.WaitingList where t.Donations.Count < 2 && t.IsValid == true && t.TicketHolderId == AdminUid orderby t.EntryDate select t).FirstOrDefault(); if (Ticket == null) { Ticket = (from t in db.WaitingList where t.Donations.Count < 2 & t.IsValid == true orderby t.EntryDate select t).FirstOrDefault(); } if (Ticket != null) { Donation NewDonation = new Donation { Donor = donor, DonorId = donor.Id, IsOpen = false, Ticket = Ticket, TicketId = Ticket.Id, CreationDate = DateTime.Now }; db.Donations.Add(NewDonation); db.SaveChanges(); DonationDetails DonDetails = new DonationDetails { DonationId = NewDonation.Id, RecipientFullName = NewDonation.Ticket.TicketHolder.AccountTitle, RecipientAccountNumber = NewDonation.Ticket.TicketHolder.AccountNumber, RecipientBankName = NewDonation.Ticket.TicketHolder.Bank, }; return(PartialView("_FindAMatch", DonDetails)); } else { return(HttpNotFound()); } } }
public void OnGet(int id) { DonationCauseObj = _unitOfWork.DonationCause.GetFirstOrDefault(c => c.Id == id); DonationDetails = new DonationDetails(); if (User.Identity.IsAuthenticated) { var claimIdentity = (ClaimsIdentity)User.Identity; var claim = claimIdentity.FindFirst(ClaimTypes.NameIdentifier); if (claim != null) { //Retrieve details of the person logged in ApplicationUser applicationUser = _unitOfWork.ApplicationUser.GetFirstOrDefault(c => c.Id == claim.Value); DonationDetails.DonorName = applicationUser.FullName; DonationDetails.Email = applicationUser.Email; } } ViewData["Title"] = DonationCauseObj.Title; ViewData["Image"] = DonationCauseObj.Image; HttpContext.Session.SetString("donationCauseId", DonationCauseObj.Id.ToString()); }
public PartialViewResult Donations() { List <DonationDetails> Donations = new List <DonationDetails>(); using (var db = new ApplicationDbContext()) { var DonationList = (from d in db.Donations select d).ToList(); foreach (Donation dn in DonationList) { var dets = new DonationDetails { DonationId = dn.Id, DonorFullName = dn.Donor.AccountTitle, RecipientFullName = dn.Ticket.TicketHolder.AccountTitle, DonationSetupDate = dn.CreationDate, Status = dn.IsOpen }; Donations.Add(dets); } } return(PartialView("_Donations", Donations)); }
public ActionResult UploadPaymentInfo(string Id) { Donation donation = DonationServices.GetDonationById(Id); if (donation != null) { DonationDetails details = new DonationDetails { DonationId = donation.Id, DonorBankName = donation.Donor.Bank, DonorAccountNumber = donation.Donor.AccountNumber, DonorFullName = donation.Donor.AccountTitle, RecipientAccountNumber = donation.Ticket.TicketHolder.AccountNumber, RecipientBankName = donation.Ticket.TicketHolder.Bank, RecipientFullName = donation.Ticket.TicketHolder.AccountTitle }; return(View(details)); } else { return(HttpNotFound("We could not find the information you are looking for.")); } }
public ActionResult Return(int projectid = 0) { LogStuff("PAYPAL RETURN", DateTime.Now, Request.QueryString.ToString() + "\r\n" + Request.Form.ToString()); /* * mc_gross=1.00 * &protection_eligibility=Eligible * &address_status=confirmed * &payer_id=JK9XPSEQK26MQ * &tax=0.00 * &address_street=1+Main+St * &payment_date=07%3A06%3A59+Jun+05%2C+2013+PDT * &payment_status=Completed * &charset=windows-1252 * &address_zip=95131 * &first_name=tester * &mc_fee=0.38 * &address_country_code=US * &address_name=tester+localactors * ¬ify_version=3.7 * &custom=admin * &payer_status=verified * &business=vespassassina-facilitator%40hotmail.com * &address_country=United+States * &address_city=San+Jose * &quantity=0 * &payer_email=test%40localactors.org * &verify_sign=An5ns1Kso7MWUdW4ErQKJJJ4qi4-A5uKSmudPHg6Bssh--AZqtYMP7Wh&txn_id=1SH19721FS9241319 * &payment_type=instant * &last_name=localactors * &address_state=CA * &receiver_email=vespassassina-facilitator%40hotmail.com * &payment_fee= * &receiver_id=8R62TKM9TXLMY * &txn_type=web_accept * &item_name=Project * &mc_currency=EUR * &item_number=1 * &residence_country=US * &test_ipn=1 * &transaction_subject=admin * &payment_gross= * &merchant_return_link=Return+to+Diego+Trinciarelli's+Test+Store * &auth=AjhU-C2bLdsvWYwJHJhvzSRc08zgx9u3L231oxJdcHrFevcwbGsMj4MJVn9gc1WK8SdRTbimDZHXAkuD-gpm.VQ#.Ua9GDJxZL_c */ string payer_id = Request["payer_id"]; string payment_date = Request["payment_date"]; transaction t = db.transactions.Include("Donation").FirstOrDefault(x => x.TransactionDate == payment_date && x.SenderID == payer_id); DonationDetails donation = new DonationDetails(); if (t != null && t.donation.user.UserName.ToLower() == User.Identity.Name.ToLower()) { donation.InvestmentID = t.donation.InvestmentID; donation.Amount = t.donation.Amount; donation.Currency = t.donation.Currency; donation.Description = t.donation.Description; ViewBag.projectid = projectid; return(View(donation)); } return(RedirectToAction("ThankYou", "Projects", new{ id = projectid })); }
internal ActionResult Homepage() { ApplicationUser AppUser; // Get data var UserId = User.Identity.GetUserId(); AppUser = DbAccessHandler.DbContext.Users.Find(UserId); var UserBankAccount = BankAccountServices.GetUserBankAccount(AppUser); var IncomingDonations = DonationServices.GetIncomingAccountDonations(UserBankAccount); List <Payment> IncomingPayments = new List <Payment>(); foreach (Donation d in IncomingDonations) { Payment p = PaymentServices.GetPaymentForDonation(d); if (PaymentServices.IsNotNull(p)) { IncomingPayments.Add(p); } } var OutgoingDonations = DonationServices.GetOutgoingAccountDonations(UserBankAccount); List <Payment> OutgoingPayments = new List <Payment>(); foreach (Donation d in OutgoingDonations) { Payment p1 = PaymentServices.GetPaymentForDonation(d); if (PaymentServices.IsNotNull(p1)) { OutgoingPayments.Add(p1); } } List <Donation> _pendingIncomingDonations = new List <Donation>(2); List <Payment> _pendingIncomingpayments = new List <Payment>(2); Donation PendingOutgoingDonation = null; Payment PendingOutgoingPayment = null; if (UserBankAccount.IsReceiver == false) { if (OutgoingDonations.Where(m => m.IsOpen == false).Count() > 0) { PendingOutgoingDonation = OutgoingDonations.Where(m => m.IsOpen == false).First(); } if (OutgoingPayments.Where(m => m.Confirmed == false).Count() > 0) { PendingOutgoingPayment = OutgoingPayments.Where(m => m.Confirmed == false).First(); } } else { var IDnts = IncomingDonations.Where(m => m.IsOpen == false).ToList(); if (IDnts != null) { _pendingIncomingDonations = IDnts; } var IPymts = IncomingPayments.Where(m => m.Confirmed == false).ToList(); if (IPymts != null) { _pendingIncomingpayments = IPymts; } } //Get Users personal Information var FirstName = AppUser.FirstName; var LastName = AppUser.LastName; var PhoneNumber = AppUser.PhoneNumber; if (AppUser.PhoneNumberConfirmed == false) { PhoneNumber = PhoneNumber + " (Unconfirmed)"; } var Emailaddress = AppUser.Email; //Add objects to the data dictionary //Personal Information UserDetails Ud = new UserDetails { FirstName = FirstName, LastName = LastName, PhoneNumber = PhoneNumber, UserName = Emailaddress }; ViewBag.UserDetails = Ud; //Account Information BankAccountDetails Bd = new BankAccountDetails { AccountTitle = UserBankAccount.AccountTitle, AccountNumber = UserBankAccount.AccountNumber, BankName = UserBankAccount.Bank, IsReceiver = UserBankAccount.IsReceiver }; ViewBag.BankAccountDetails = Bd; //Outgoing Payments Information ViewBag.OutgoingPayments = OutgoingPayments.Where(m => m.Confirmed == true).Select(m => m.CreationDate).ToList(); //Incoming Payments Information ViewBag.IncomingPayments = IncomingPayments.Where(m => m.Confirmed == true).Select(m => m.CreationDate).ToList(); //Pending Donors Information var PendingIncomingDonations = new List <Dictionary <string, object> >(); if (_pendingIncomingDonations.Count > 0) { foreach (Donation d in _pendingIncomingDonations) { var DonationId = d.Id; var Name = d.Donor.AccountTitle; var AccountNumber = d.Donor.AccountNumber; var BankName = d.Donor.Bank; var Payment = _pendingIncomingpayments.Where(p => p.DonationPack.Id == d.Id).FirstOrDefault(); Dictionary <string, object> set = new Dictionary <string, object>(); set.Add("DonationId", DonationId); set.Add("Name", Name); set.Add("AccountNumber", AccountNumber); set.Add("BankName", BankName); if (Payment != null) { set.Add("PaymentId", Payment.Id); set.Add("Confirmed", Payment.Confirmed); } else { set.Add("PaymentId", null); set.Add("Confirmed", null); } PendingIncomingDonations.Add(set); } } ViewBag.PendingIncomingDonations = PendingIncomingDonations; //Pending Outgoing Donation View DonationDetails DonationDetails = null; if (PendingOutgoingDonation != null) { DonationDetails = new DonationDetails(); DonationDetails.DonationId = PendingOutgoingDonation.Id; DonationDetails.RecipientFullName = PendingOutgoingDonation.Ticket.TicketHolder.AccountTitle; DonationDetails.RecipientAccountNumber = PendingOutgoingDonation.Ticket.TicketHolder.AccountNumber; DonationDetails.RecipientBankName = PendingOutgoingDonation.Ticket.TicketHolder.Bank; DonationDetails.DonationSetupDate = PendingOutgoingDonation.CreationDate; } ViewBag.PendingOutgoingDonation = DonationDetails; PaymentDetails PayDetails = null; if (PendingOutgoingPayment != null) { PayDetails = new PaymentDetails(); PayDetails.PaymentId = PendingOutgoingPayment.Id; PayDetails.Status = PendingOutgoingPayment.Confirmed; PayDetails.Date = PendingOutgoingPayment.CreationDate.ToShortDateString(); } ViewBag.PendingPayDetails = PayDetails; //Pending Outgoing Payment Information ViewBag.PendingOutgoingPayment = PendingOutgoingPayment; return(View("HomePage")); }
public async System.Threading.Tasks.Task <ActionResult> MakeADonation(DonationViewModels model) { //Setting donation details from formData //TODO: //Save to database if (!ModelState.IsValid) { return(View(model)); } List <HttpPostedFile> files = new List <HttpPostedFile>(); foreach (var f in Request.Files) { files.Add(f as HttpPostedFile); } try { var HeaderImagesJson = Request.Params["headerImages"]; var donationDetailsJson = Request.Params["details"]; //Deserialization var donationImages = JsonConvert.DeserializeObject <List <FileViewModel> >(HeaderImagesJson); var donationDetails = JsonConvert.DeserializeObject <List <DonationDetailsViewModels> >(donationDetailsJson); List <string> filesAdded = new List <string>(); model.DonationDetails = donationDetails; var imageService = new ImageService(log); ViewBag.StatusMessage = ""; //Amount validation if money is on if (model.IsMoney && model.Amount <= 0) { ViewBag.StatusMessage = Resources.InvalidAmount; return(View(model)); } filesAdded = new List <string>(); foreach (var line in model.DonationDetails) { foreach (var file in line.MultiFileData) { //check if the image already exist. var fileExist = filesAdded.Any(x => x == file.Name); if (!fileExist) { //upload image to azure var fileToUpload = file.GetFile(Request.Files); if (fileToUpload != null) { var imageUrl = await imageService.CreateUploadedImageAsync(fileToUpload, Guid.NewGuid().ToString(), true, 500, 500); line.Images.Add(new ImageViewModel() { Item = line, ImageUrl = imageUrl }); filesAdded.Add(file.Name); } } } } //Class Injection CurrentUser = userRepository.GetByUserName(User.Identity.Name); var donation = new Donation { Amount = model.Amount, CreatedBy = CurrentUser, CreatedOn = DateTime.Now, DonatedOn = DateTime.Now, Description = model.Description, DonationStatus = (Core.Entities.DonationStatus)model.DonationStatus, ExpireOn = model.ExpireOn, Title = model.Title, ModifiedOn = null }; //Donation Images filesAdded = new List <string>(); foreach (var fileWrapper in model.HeaderMultiFileData) { //check if the image already exist. var fileExist = filesAdded.Any(x => x == fileWrapper.FileName); if (!fileExist) { var file = fileWrapper as HttpPostedFileBase; var imageUrl = await imageService.CreateUploadedImageAsync(file, Guid.NewGuid().ToString(), true, 500, 500); donation.AddImage(new DonationImage() { Donation = donation, ImageUrl = imageUrl, CreatedBy = CurrentUser, CreatedOn = DateTime.Now, ModifiedOn = null }); filesAdded.Add(fileWrapper.FileName); } } if (model.DonationDetails != null && model.DonationDetails.Count() > 0) { donation.DonationDetails = new List <DonationDetails>(); } else { donation.DonationDetails = null; } if (!model.IsMoney) { foreach (var item in model.DonationDetails) { var itemLine = new DonationDetails { CreatedBy = CurrentUser, Donation = donation, CreatedOn = DateTime.Now, ItemName = item.ItemName, ItemType = (Core.Entities.DonationType)item.ItemType, Line = item.Index, DonationStatus = (Core.Entities.DonationStatus)item.DonationStatus, ModifiedOn = null }; foreach (var image in item.Images) { itemLine.Images.Add( new DonationDetailsImage { CreatedBy = CurrentUser, Item = itemLine, ImageUrl = image.ImageUrl, CreatedOn = DateTime.Now, ModifiedOn = null }); } donation.DonationDetails.Add(itemLine); } } //save to database donationRepository.Create(donation); //Success return(Json(new { result = "Redirect", url = Url.Action("Index", "Donations", new { Message = DonationMessageId.CrateDonationSuccess }) })); } catch (System.Exception ex) { ViewBag.StatusMessage = ex.Message; } return(Json(new { result = "Error", Message = ViewBag.StatusMessage }));; }
public HttpResponseMessage Donate(Object Donation) { var test = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(Convert.ToString(Donation)); object DonationDetails; test.TryGetValue("DonationDetails", out DonationDetails); //object PickUpLat; //test.TryGetValue("PickUpLat", out PickUpLat); //double _PickUpLat = Convert.ToDouble(PickUpLat); //object PickUpLng; //test.TryGetValue("PickUpLng", out PickUpLng); //double _PickUpLng = Convert.ToDouble(PickUpLng); object UserId; test.TryGetValue("UserId", out UserId); int _UserId = Convert.ToInt32(UserId); object TypeId; test.TryGetValue("DonationTypeId", out TypeId); int _TypeId = Convert.ToInt32(TypeId); var connection = new MySqlConnection(ConfigurationManager.AppSettings["MySqlDBConn"].ToString()); var compiler = new MySqlCompiler(); var db = new QueryFactory(connection, compiler); db.Connection.Open(); using (var scope = db.Connection.BeginTransaction()) { try { Dictionary <string, object> DonationObj = new Dictionary <string, object>() { { "RequestDate", DateTime.Now.Date }, { "DonationTypeId", _TypeId }, { "UserId", _UserId }, { "DonationStatus", DonationStatusPending } //donationdetails }; var res = db.Query("userDonation").InsertGetId <int>(new { RequestDate = DateTime.Now.Date, DonationTypeId = _TypeId, UserId = _UserId, DonationStatus = DonationStatusPending }); List <Dictionary <string, object> > _DonationDetails = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(DonationDetails.ToString()); foreach (var item in _DonationDetails) { item.Add("DonationId", res); var resp = db.Query("Donationdetails").Insert(item); } scope.Commit(); return(Request.CreateResponse(HttpStatusCode.Created, new Dictionary <string, int>() { { "LastInsertedID", res } })); } catch (Exception ex) { scope.Rollback(); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } } }