static void Main(string[] args) { GreetingManager gm = new GreetingManager( ); gm.GreetPeople("mk", EnglishGreeting); gm.GreetPeople("lj", ChineseGreeting); Console.WriteLine("-----------------------------------------"); GreetingDelegate delegate1; delegate1 = EnglishGreeting; delegate1 += ChineseGreeting; gm.GreetPeople("Jimmy Zhang", delegate1); Console.WriteLine("-----------------------------------------"); //gm.delegate1 = ChineseGreeting; //gm.delegate1 += EnglishGreeting; //gm.delegate1 = new GreetingDelegate(EnglishGreeting); gm.delegate1 = ChineseGreeting; gm.GreetPeople("parkey", gm.delegate1); Console.WriteLine("-----------------------------------------"); GreetingManager greeting = new GreetingManager( ); greeting.MakeGreet += ChineseGreeting; greeting.MakeGreet += EnglishGreeting; greeting.GreetPeople("dy"); Console.WriteLine("-----------------------------------------"); //:事件应该由事件的发布者触发,而不应该由事件的客户端(客户程序)来触发 Publisher pub = new Publisher( ); Subcriber sub = new Subcriber( ); pub.NumberChanged += new NumberChangedEventHandler(sub.OnNumberChanged); pub.DoSomething( ); //pub.NumberChanged(100); Console.ReadLine( ); }
public async Task <ActionResult> Create(Subcriber subcriber) { if (ModelState.IsValid) { var egreetingUser = new EgreetingUser { CreatedDate = DateTime.Now, Avatar = System.IO.File.ReadAllBytes($"{Startup.StaticHostEnvironment.WebRootPath}/Admin/dist/img/avatar.png"), Email = subcriber.Email, }; var applicationUser = new ApplicationUser { Email = egreetingUser.Email, UserName = egreetingUser.Email, EgreetingUser = egreetingUser }; var result = await _userManager.CreateAsync(applicationUser, "delete123456Aa"); await _userManager.AddToRoleAsync(applicationUser, "Subcriber"); if (result.Succeeded) { using (var context = new DesignTimeDbContextFactory().CreateDbContext(null)) { var eUser = context.Set <EgreetingUser>().Where(x => x.Email.Equals(egreetingUser.Email)).FirstOrDefault(); eUser.EgreetingUserRoles = (ICollection <EgreetingUserRole>)context.Set <EgreetingRole>().Where(x => x.EgreetingRoleName.Equals("Subcriber")).Select(x => x.EgreetingUserRoles).ToList(); subcriber.EgreetingUser = eUser; context.Set <Subcriber>().Attach(subcriber); context.Entry(subcriber).State = EntityState.Modified; context.SaveChanges(); } return(RedirectToAction("Index")); } AddErrors(result); } return(View(ViewNamesConstant.AdminSubcribersCreate, subcriber)); }
public async Task <IHttpActionResult> Put([FromODataUri] int key, Subcriber update) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (key != update.SubcriberID) { return(BadRequest()); } db.Entry(update).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SubcriberExists(key)) { return(NotFound()); } else { throw; } } return(Updated(update)); }
public IHttpActionResult PutSubcriber(int id, Subcriber subcriber) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != subcriber.SubcriberID) { return(BadRequest()); } db.Entry(subcriber).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!SubcriberExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <bool> UpdateSubcriber(Subcriber subcriberUpdate) { try { var subcriber = await _dbContext.Subcribers.FirstOrDefaultAsync(x => x.Email == subcriberUpdate.Email && x.SubcriberId != subcriberUpdate.SubcriberId); if (subcriber != null) { return(false); } var subcriberInDB = await _dbContext.Subcribers.FirstOrDefaultAsync(x => x.SubcriberId == subcriberUpdate.SubcriberId); if (subcriberInDB == null) { return(false); } _dbContext.Subcribers.Update(subcriberUpdate); await _dbContext.SaveChangesAsync(); return(true); } catch (Exception ex) { throw ex; } }
public IDisposable Subcribe <T>(Action <T> callback) { lock (_lock) { var subcriber = new Subcriber <T>(callback, Unsubscribe); _subscribers.Add(subcriber); return(subcriber); } }
public IHttpActionResult GetSubcriber(int id) { Subcriber subcriber = db.Subcribers.Find(id); if (subcriber == null) { return(NotFound()); } return(Ok(subcriber)); }
public async Task <IHttpActionResult> Post(Subcriber Subcriber) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Subcribers.Add(Subcriber); await db.SaveChangesAsync(); return(Created(Subcriber)); }
public ActionResult Delete(int ItemID) { Subcriber subcriber = SubcriberBusiness.Find(ItemID); subcriber.EgreetingUser.ModifiedDate = DateTime.Now; subcriber.EgreetingUser.Draft = true; subcriber.ModifiedDate = DateTime.Now; subcriber.Draft = true; SubcriberBusiness.Update(subcriber); SubcriberBusiness.Save(); return(RedirectToAction("Index")); }
public IHttpActionResult PostSubcriber(Subcriber subcriber) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Subcribers.Add(subcriber); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = subcriber.SubcriberID }, subcriber)); }
public ActionResult Details(int?id) { if (id == null) { return(View(ViewNamesConstant.FrontendHomeError)); } Subcriber subcriber = SubcriberBusiness.Find(id); if (subcriber == null) { return(View(ViewNamesConstant.FrontendHomeError)); } return(View(ViewNamesConstant.AdminSubcribersDetails, subcriber)); }
public IHttpActionResult DeleteSubcriber(int id) { Subcriber subcriber = db.Subcribers.Find(id); if (subcriber == null) { return(NotFound()); } db.Subcribers.Remove(subcriber); db.SaveChanges(); return(Ok(subcriber)); }
// GET: Subcribers/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Subcriber subcriber = SubcriberBusiness.Find(id); if (subcriber == null) { return(HttpNotFound()); } return(View(ViewNamesConstant.AdminSubcribersDetails, subcriber)); }
public ActionResult Index(string email) { var sub = new Subcriber(); if (sub.Email == email) { ViewBag.error = "this email already exist"; } else { sub.Email = email; db.Subcribers.Add(sub); db.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public async Task <bool> CreateSubcriber(Subcriber subcriberCreate) { try { var subcriber = await _dbContext.Subcribers.FirstOrDefaultAsync(x => x.Email == subcriberCreate.Email); if (subcriber != null) { return(false); } _dbContext.Subcribers.Add(subcriberCreate); await _dbContext.SaveChangesAsync(); return(true); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult> Create([Bind(Include = "Email")] Subcriber subcriber) { if (ModelState.IsValid) { var egreetingUser = new EgreetingUser { CreatedDate = DateTime.Now, Avatar = System.IO.File.ReadAllBytes(Server.MapPath("~/Content/Admin/dist/img/avatar.png")), Email = subcriber.Email, }; var applicationUser = new ApplicationUser { Email = egreetingUser.Email, UserName = egreetingUser.Email, EgreetingUser = egreetingUser }; var result = await UserManager.CreateAsync(applicationUser, "delete123456Aa"); using (var context = new EgreetingContext()) { var roleStore = new RoleStore <IdentityRole>(context); var roleManager = new RoleManager <IdentityRole>(roleStore); var userStore = new UserStore <ApplicationUser>(context); var userManager = new UserManager <ApplicationUser>(userStore); userManager.AddToRole(applicationUser.Id, "Subcriber"); } if (result.Succeeded) { using (var context = new EgreetingContext()) { var eUser = context.Set <EgreetingUser>().Where(x => x.Email.Equals(egreetingUser.Email)).FirstOrDefault(); eUser.EgreetingRoles = context.Set <EgreetingRole>().Where(x => x.EgreetingRoleName.Equals("Subcriber")).ToList(); subcriber.EgreetingUser = eUser; context.Set <Subcriber>().Attach(subcriber); context.Entry(subcriber).State = EntityState.Modified; context.SaveChanges(); } return(RedirectToAction("Index")); } AddErrors(result); } return(View(ViewNamesConstant.AdminSubcribersCreate, subcriber)); }
// GET: DummyData public ActionResult Index() { var faker = new Faker("en"); using (var context = new EgreetingContext()) { //20 category; var categories = new List <Category>(); categories.Add(new Category { CategoryID = 1, CategoryName = "Birthday", CategorySlug = "birthday" }); categories.Add(new Category { CategoryID = 2, CategoryName = "Wedding", CategorySlug = "wedding" }); categories.Add(new Category { CategoryID = 3, CategoryName = "New year", CategorySlug = "new-year" }); categories.Add(new Category { CategoryID = 4, CategoryName = "Festivals", CategorySlug = "festivals" }); for (int i = 5; i < 20; i++) { categories.Add(new Category { CategoryID = i, CategoryName = "Category " + i, CategorySlug = "Category-" + i, CreatedDate = faker.Date.Past(), }); } context.Set <Category>().AddRange(categories); context.SaveChanges(); } //3 role using (var context = new EgreetingContext()) { var store = new RoleStore <ApplicationRole>(context); var manager = new RoleManager <ApplicationRole>(store); var role = new ApplicationRole { Name = "Admin", EgreetingRole = new EgreetingRole { EgreetingRoleID = 1, EgreetingRoleName = "Admin", CreatedDate = faker.Date.Past(), } }; manager.Create(role); role = new ApplicationRole { Name = "User", EgreetingRole = new EgreetingRole { EgreetingRoleID = 2, EgreetingRoleName = "User", CreatedDate = faker.Date.Past(), } }; manager.Create(role); role = new ApplicationRole { Name = "Subcriber", EgreetingRole = new EgreetingRole { EgreetingRoleID = 3, EgreetingRoleName = "Subcriber", CreatedDate = faker.Date.Past(), } }; manager.Create(role); } //20 user using (var context = new EgreetingContext()) { var image = System.IO.File.ReadAllBytes(Server.MapPath("~/Content/Admin/dist/img/avatar.png")); var store = new UserStore <ApplicationUser>(context); var manager = new UserManager <ApplicationUser>(store); var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EgreetingUser = new EgreetingUser { EgreetingUserID = 1, Email = "*****@*****.**", FirstName = "Tien Thinh", LastName = "Nguyen", Avatar = image, EgreetingUserSlug = generateSlug(), BirthDay = DateTime.Now, PaymentDueDate = DateTime.Now, CreditCardNumber = "123456789012", CreditCardCVG = "123", CreatedDate = faker.Date.Past(), } }; manager.Create(user, "123456aA@"); manager.AddToRole(user.Id, "Admin"); user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EgreetingUser = new EgreetingUser { EgreetingUserID = 2, Email = "*****@*****.**", FirstName = "Tien Thinh", LastName = "Nguyen", Avatar = image, EgreetingUserSlug = generateSlug(), BirthDay = DateTime.Now, PaymentDueDate = DateTime.Now, CreditCardNumber = "123456789012", CreditCardCVG = "123", CreatedDate = faker.Date.Past(), } }; manager.Create(user, "123456aA@"); manager.AddToRole(user.Id, "Admin"); user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EgreetingUser = new EgreetingUser { EgreetingUserID = 3, Email = "*****@*****.**", FirstName = "Tien Thinh", LastName = "Nguyen", Avatar = image, EgreetingUserSlug = generateSlug(), BirthDay = DateTime.Now, PaymentDueDate = DateTime.Now, CreditCardNumber = "123456789012", CreditCardCVG = "123", CreatedDate = faker.Date.Past(), } }; manager.Create(user, "123456aA@"); manager.AddToRole(user.Id, "User"); user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", EgreetingUser = new EgreetingUser { EgreetingUserID = 4, Email = "*****@*****.**", FirstName = "Tien Thinh", LastName = "Nguyen", Avatar = image, EgreetingUserSlug = generateSlug(), BirthDay = DateTime.Now, PaymentDueDate = DateTime.Now, CreditCardNumber = "123456789012", CreditCardCVG = "123", CreatedDate = faker.Date.Past(), } }; manager.Create(user, "123456aA@"); manager.AddToRole(user.Id, "Subcriber"); for (int i = 5; i <= 20; i++) { user = new ApplicationUser { UserName = "******" + i + "@gmail.com", Email = "subcriber" + i + "@gmail.com", EgreetingUser = new EgreetingUser { EgreetingUserID = 4, Email = "subcriber" + i + "@gmail.com", FirstName = "Tien Thinh " + i, LastName = "Nguyen", Avatar = image, EgreetingUserSlug = generateSlug(), BirthDay = DateTime.Now, PaymentDueDate = DateTime.Now, CreditCardNumber = "123456789012", CreditCardCVG = "123", CreatedDate = faker.Date.Past(), } }; manager.Create(user, "123456aA@"); manager.AddToRole(user.Id, "Subcriber"); } } // 100 Ecard using (var context = new EgreetingContext()) { var ecards = new List <Ecard>(); for (int i = 1; i <= 10; i++) { var categoriesID = new List <int> { faker.Random.Number(1, 20), faker.Random.Number(1, 20) }; var ecard = new Ecard { EcardID = i, EcardName = faker.Commerce.ProductName(), EcardSlug = faker.Lorem.Slug() + i, EcardType = 4, EcardUrl = "Ecard_" + faker.Random.Number(1, 10) + ".mp4", ThumbnailUrl = "Thumbnail_" + faker.Random.Number(24, 39) + ".png", Price = faker.Random.Double() * 100, Categories = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(), EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(), CreatedDate = faker.Date.Past(), }; ecards.Add(ecard); } for (int i = 11; i <= 30; i++) { var categoriesID = new List <int> { faker.Random.Number(1, 20), faker.Random.Number(1, 20) }; var ecard = new Ecard { EcardID = i, EcardName = faker.Commerce.ProductName(), EcardSlug = faker.Lorem.Slug() + i, EcardType = 2, EcardUrl = "Ecard_" + faker.Random.Number(11, 23) + ".gif", ThumbnailUrl = "Thumbnail_" + faker.Random.Number(24, 39) + ".png", Price = faker.Random.Double() * 100, Categories = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(), EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(), CreatedDate = faker.Date.Past(), }; ecards.Add(ecard); } for (int i = 31; i <= 100; i++) { var categoriesID = new List <int> { faker.Random.Number(1, 20), faker.Random.Number(1, 20) }; var ecard = new Ecard { EcardID = i, EcardName = faker.Commerce.ProductName(), EcardSlug = faker.Lorem.Slug() + i, EcardType = 1, EcardUrl = "Ecard_" + faker.Random.Number(24, 39) + ".png", ThumbnailUrl = "Thumbnail_" + faker.Random.Number(24, 39) + ".png", Price = faker.Random.Double() * 100, Categories = context.Set <Category>().Where(x => categoriesID.Contains(x.CategoryID)).ToList(), EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == 1).FirstOrDefault(), CreatedDate = faker.Date.Past(), }; ecards.Add(ecard); } context.Set <Ecard>().AddRange(ecards); context.SaveChanges(); } // 500 Feedback using (var context = new EgreetingContext()) { var feedbacks = new List <Feedback>(); for (int i = 1; i <= 500; i++) { var ecardID = faker.Random.Number(1, 100); var userID = faker.Random.Number(1, 4); var feedback = new Feedback { FeedbackID = i, Subject = faker.Lorem.Sentence(10), Message = faker.Lorem.Sentences(4), Ecard = context.Set <Ecard>().Where(x => x.EcardID == ecardID).FirstOrDefault(), EgreetingUser = context.Set <EgreetingUser>().Where(x => x.EgreetingUserID == userID).FirstOrDefault(), CreatedDate = faker.Date.Past(), }; feedbacks.Add(feedback); } context.Set <Feedback>().AddRange(feedbacks); context.SaveChanges(); } // 16 subcrieber using (var context = new EgreetingContext()) { var subcribers = new List <Subcriber>(); for (int i = 5; i <= 20; i++) { var subcriber = new Subcriber { SubcriberID = i, Email = "subcriber" + i + "@gmail.com", EgreetingUser = context.Set <EgreetingUser>().Find(i), CreatedDate = faker.Date.Past(), }; subcribers.Add(subcriber); } context.Set <Subcriber>().AddRange(subcribers); context.SaveChanges(); } // 100 Payment using (var context = new EgreetingContext()) { var payments = new List <Payment>(); for (int i = 1; i <= 100; i++) { var userID = faker.Random.Number(5, 20); var payment = new Payment { PaymentID = i, Month = i % 12 == 0 ? 1 : i % 12, Year = faker.Random.Number(2000, 2019), PaymentStatus = faker.Random.Bool(), EgreetingUser = context.Set <EgreetingUser>().Find(userID), CreatedDate = faker.Date.Past(), }; payments.Add(payment); } context.Set <Payment>().AddRange(payments); context.SaveChanges(); } //200 Order using (var context = new EgreetingContext()) { var orders = new List <Order>(); for (int i = 1; i <= 200; i++) { var ecardIDs = new List <int>() { faker.Random.Number(1, 100), faker.Random.Number(1, 100), faker.Random.Number(1, 100) }; var orderDetails = new List <OrderDetail>(); var sendStatusOder = true; foreach (var item in ecardIDs) { bool sendStatus = faker.Random.Bool(); var orderDetail = new OrderDetail { SendStatus = sendStatus, Ecard = context.Set <Ecard>().Find(item), CreatedDate = faker.Date.Past(), }; if (sendStatus) { orderDetail.SendTime = faker.Date.Soon(); } orderDetails.Add(orderDetail); sendStatusOder = sendStatusOder && sendStatus; } var userID = faker.Random.Number(5, 20); var order = new Order { OrderID = i, SenderName = faker.Lorem.Sentence(3), RecipientEmail = "*****@*****.**", SendSubject = faker.Lorem.Sentence(4), SendMessage = faker.Lorem.Sentences(4), ScheduleTime = faker.Date.Past(), SendStatus = sendStatusOder, TotalPrice = faker.Random.Double(), User = context.Set <EgreetingUser>().Find(userID), OrderDetails = orderDetails, CreatedDate = faker.Date.Past(), }; orders.Add(order); } context.Set <Order>().AddRange(orders); context.SaveChanges(); } return(View()); }