public async Task <IActionResult> Edit(int id, [Bind("DonateServiceId,PartnerId,Date,DonationRadiusMiles,Zipcode,Description")] DonateService donateService)
        {
            if (id != donateService.DonateServiceId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(donateService);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DonateServiceExists(donateService.DonateServiceId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(donateService));
        }
예제 #2
0
        public static async Task <DonateService> GetDonateServiceById(int id)
        {
            DonateService donateService = null;

            try
            {
                using (SqlConnection lin2worldDbConn = new SqlConnection(LIN2WORLD_CONN_STRING))
                {
                    lin2worldDbConn.Open();

                    using (SqlCommand cmd = lin2worldDbConn.CreateCommand())
                    {
                        cmd.CommandText = "SELECT * FROM l2acp_donateservices WHERE serviceid=@SERVICE_ID";
                        cmd.Parameters.AddWithValue("@SERVICE_ID", id);

                        using (SqlDataReader reader = await cmd.ExecuteReaderAsync())
                        {
                            if (reader.Read())
                            {
                                donateService             = new DonateService();
                                donateService.ServiceId   = reader.GetInt32(reader.GetOrdinal("serviceid"));
                                donateService.ServiceName = reader["servicename"].ToString();
                                donateService.Price       = reader.GetInt32(reader.GetOrdinal("price"));
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                donateService = null;
            }

            return(donateService);
        }
예제 #3
0
        public ActionResult DonateList(int page = 1, int size = 10)
        {
            var list = DonateService.GetPagesFromCache <DateTime, DonateDto>(page, size, d => true, d => d.DonateTime, false);

            if (!CurrentUser.IsAdmin)
            {
                foreach (var item in list.Data)
                {
                    item.QQorWechat = item.QQorWechat.Mask();
                    item.Email      = item.Email.MaskEmail();
                }
            }
            return(Ok(list));
        }
예제 #4
0
        public ActionResult DonateList(int page = 1, int size = 10)
        {
            var list = DonateService.GetPages(page, size, out int total, d => true, d => d.DonateTime, false).Select(d => new
            {
                d.NickName,
                d.EmailDisplay,
                d.QQorWechatDisplay,
                d.DonateTime,
                d.Amount,
                d.Via
            }).Cacheable().ToList();
            var pageCount = Math.Ceiling(total * 1.0 / size).ToInt32();

            return(PageResult(list, pageCount, total));
        }
예제 #5
0
        public async Task <ActionResult> DonateList(int page = 1, int size = 10)
        {
            var list = await DonateService.GetPagesFromCacheAsync <DateTime, DonateDto>(page, size, d => true, d => d.DonateTime, false);

            if (!CurrentUser.IsAdmin)
            {
                foreach (var item in list.Data.Where(item => !(item.QQorWechat + item.Email).Contains("匿名")))
                {
                    item.QQorWechat = item.QQorWechat?.Mask();
                    item.Email      = item.Email?.MaskEmail();
                }
            }

            return(Ok(list));
        }
        public async Task <IActionResult> Create(DonateService donateService, Partner partner)
        {
            if (ModelState.IsValid)
            {
                var userId               = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                var viewerInDb           = _context.Partners.Where(m => m.IdentityUserId == userId).FirstOrDefault();
                var applicationDbContext = _context.Partners.Include(p => p.IdentityUser);
                donateService.PartnerId   = viewerInDb.PartnerId;
                donateService.PartnerName = viewerInDb.FirstName;
                donateService.PartnerLat  = viewerInDb.PartnerLat;
                donateService.PartnerLong = viewerInDb.PartnerLong;
                donateService.PhoneNumber = viewerInDb.PartnerPhone;
                _context.Add(donateService);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(donateService));
        }
예제 #7
0
        public static async Task <List <DonateService> > GetDonateServicesList()
        {
            List <DonateService> donateServices = new List <DonateService>();

            try
            {
                using (SqlConnection lin2worldDbConn = new SqlConnection(LIN2WORLD_CONN_STRING))
                {
                    lin2worldDbConn.Open();


                    using (SqlCommand cmd = lin2worldDbConn.CreateCommand())
                    {
                        cmd.CommandText = "SELECT * FROM l2acp_donateservices";

                        using (SqlDataReader reader = await cmd.ExecuteReaderAsync())
                        {
                            while (reader.Read())
                            {
                                DonateService donateService = new DonateService();
                                donateService.ServiceId   = reader.GetInt32(reader.GetOrdinal("serviceid"));
                                donateService.ServiceName = reader["servicename"].ToString();
                                donateService.Price       = reader.GetInt32(reader.GetOrdinal("price"));

                                donateServices.Add(donateService);
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                donateServices = null;
            }

            return(donateServices);
        }
예제 #8
0
        public ActionResult DonateList(int page = 1, int size = 10)
        {
            var list = DonateService.GetPagesFromCache <DateTime, DonateDtoBase>(page, size, d => true, d => d.DonateTime, false);

            return(Ok(list));
        }
예제 #9
0
        public async Task <IActionResult> Create(DonateServicePartners donateServicePartners, Partner partner, DonateService donateService, int id)
        {
            if (ModelState.IsValid)
            {
                var userId               = this.User.FindFirstValue(ClaimTypes.NameIdentifier);
                var viewerInDb           = _context.Partners.Where(m => m.IdentityUserId == userId).FirstOrDefault();
                var applicationDbContext = _context.Partners.Include(p => p.IdentityUser);
                donateServicePartners.PartnerId = viewerInDb.PartnerId;
                var donateServicee = _context.DonateServices.FindAsync(id);
                donateServicePartners.DonateServiceId = id;

                donateService.DonateServiceId = id;
                var phone  = _context.DonateServices.Where(p => p.DonateServiceId == id).First();
                var number = phone.PhoneNumber;


                SendSms(number).Wait();

                _context.Add(donateServicePartners);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(View(donateServicePartners));
        }
예제 #10
0
 public DonateController(DonateService donateService, UserService userService)
 {
     _donateService = donateService;
     _userService   = userService;
 }
예제 #11
0
 public DonateController(DonateService donateService)
 {
     _donateService = donateService;
 }