public IActionResult Index(GreetingCard model, string ddlColour, string ddlFontStyle, string chkPictureChoice) { GreetingCard objResult = new GreetingCard(); objResult.colour = ddlColour; objResult.fontStyle = ddlFontStyle; objResult.fontSize = model.fontSize + "px"; objResult.borderStyle = model.borderStyle; objResult.pictureChoice = chkPictureChoice; objResult.message = model.message; ViewBag.result = objResult; if (ViewBag.result.pictureChoice == "true") { ViewBag.pictureURL = "~/Images/waterlilis.jpg"; } List <SelectListItem> lstColour = new List <SelectListItem>(); lstColour.Add(new SelectListItem() { Text = "Black", Value = "black" }); lstColour.Add(new SelectListItem() { Text = "Pink", Value = "pink" }); lstColour.Add(new SelectListItem() { Text = "Red", Value = "red" }); lstColour.Add(new SelectListItem() { Text = "Yellow", Value = "yellow" }); ViewBag.ddlColour = lstColour; List <SelectListItem> lstFontStyle = new List <SelectListItem>(); lstFontStyle.Add(new SelectListItem() { Text = "Arial", Value = "Arial" }); lstFontStyle.Add(new SelectListItem() { Text = "Comic Sans MS", Value = "Comic Sans MS" }); lstFontStyle.Add(new SelectListItem() { Text = "Lucida Console", Value = "Lucida Console" }); ViewBag.ddlFontStyle = lstFontStyle; return(View()); }
public async Task <IActionResult> CountGreetingCardsPerTheme() { var selectedGreetingCards = from g in _context.GreetingCards group g by g.theme; if (selectedGreetingCards.Any()) { Dictionary <string, int> greetingCardPerThemeCnt = new Dictionary <string, int>(); foreach (IGrouping <string, GreetingCard> c in selectedGreetingCards) { greetingCardPerThemeCnt.Add(c.Key, c.Count(g => g.theme == c.First().theme)); } _context.GreetingCards.First().groupByPerTheme = greetingCardPerThemeCnt; _context.GreetingCards.First().ImagesDB = _context.Images; return(View("Index", await _context.GreetingCards.ToListAsync())); } else { GreetingCard greetingCard = new GreetingCard { ImagesDB = _context.Images }; List <GreetingCard> greetingCardEnumerable = new List <GreetingCard>(); greetingCardEnumerable.Add(greetingCard); return(View("Index", greetingCardEnumerable)); } }
public bool SaveCard(GreetingCard card) { try { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(SQL_InsertCard, conn); cmd.Parameters.AddWithValue("@tempId", card.TemplateId); cmd.Parameters.AddWithValue("@toEmail", card.ToEmail); cmd.Parameters.AddWithValue("@toName", card.ToName); cmd.Parameters.AddWithValue("@message", card.Message); cmd.Parameters.AddWithValue("@fromName", card.FromName); cmd.Parameters.AddWithValue("@fromEmail", card.FromEmail); int rowsAffected = cmd.ExecuteNonQuery(); return(rowsAffected > 0); } } catch (SqlException ex) { throw; } }
public IActionResult WithImageDigitalSize() { var selectedGreetingCards = from g in _context.GreetingCards join image in _context.Images on g.imageID equals image.ID select new { g, image }; if (selectedGreetingCards.Any()) { List <GreetingCard> greetingCards = new List <GreetingCard>(); greetingCards.AddRange(_context.GreetingCards); int numberOfItems = selectedGreetingCards.Count(); for (int i = 0; i < numberOfItems; i++) { int digitalSize = selectedGreetingCards.ToArray()[i].image.digitalSize; greetingCards.ElementAt(i).imageDigitalSize = digitalSize; } _context.GreetingCards.First().ImagesDB = _context.Images; return(View(greetingCards)); } else { GreetingCard greetingCard = new GreetingCard { ImagesDB = _context.Images }; List <GreetingCard> greetingCardEnumerable = new List <GreetingCard>(); greetingCardEnumerable.Add(greetingCard); return(View("Index", greetingCardEnumerable)); } }
public async Task StartAsync(IDialogContext context) { var channel = context.Activity.ChannelId; switch (channel) { case "facebook": { var name = "FirstName SecondName"; var message = string.Format(MessagesResource.Greeting, name); var facebooksender = new SendFacebookTemplate(context); var greetingFacebookTemplate = new GreetingFacebookTemplate(message).GetTemplate(); await facebooksender.Send(greetingFacebookTemplate); break; } default: { var name = context.Activity.From.Name; var message = string.Format(MessagesResource.Greeting, name); var sender = new SendCardToConversation(context); var greatingDefaultTemplate = new GreetingCard(message); await sender.SendCard(greatingDefaultTemplate); break; } } context.Wait(MessageReceivedAsync); }
private void AddToShoppingCart(object sender, RoutedEventArgs e) { if (PrintTypeComboBox.SelectedItem != null) { PrintBase item; switch (PrintTypeComboBox.SelectedIndex) { case 0: item = new Print(CurrentPhoto.Source as BitmapSource); break; case 1: item = new GreetingCard(CurrentPhoto.Source as BitmapSource); break; case 2: item = new SShirt(CurrentPhoto.Source as BitmapSource); break; default: return; } ShoppingCart.Add(item); ShoppingCartListBox.ScrollIntoView(item); ShoppingCartListBox.SelectedItem = item; if (false == CheckoutButton.IsEnabled) CheckoutButton.IsEnabled = true; if (false == RemoveButton.IsEnabled) RemoveButton.IsEnabled = true; } }
public async Task Send() { var channel = _context.Activity.ChannelId; switch (channel) { case "facebook": { var facebooksender = new SendFacebookTemplate(_context); var greetingFacebookTemplate = new GreetingFacebookTemplate(MessagesResource.GreetingVariant).GetTemplate(); await facebooksender.Send(greetingFacebookTemplate); break; } default: { var sender = new SendCardToConversation(_context); var greatingDefaultTemplate = new GreetingCard(MessagesResource.GreetingVariant); await sender.SendCard(greatingDefaultTemplate); break; } } }
public ActionResult GreetingCard(int id = 0) { GreetingCard gc = new GreetingCard(); CardTemplateSqlDAL dal = new CardTemplateSqlDAL(); CardTemplate temp = dal.GetTemplate(id); FullCard model = new FullCard(temp, gc); return(View("GreetingCard", model)); }
public async Task <IActionResult> Create([Bind(("ID,theme,sendertUserEmail,senderUserFullName,recipientUserEmail,sentencePrefix,fullSentence,sentenceSuffix,image,publishedToFacebook"))] GreetingCard greetingCard) { if (ModelState.IsValid) { var recipientUser = _context.Users.FirstOrDefaultAsync(m => m.Email == greetingCard.recipientUserEmail).Result; if (recipientUser != default) { var recipientUserFirstName = recipientUser.FirstName; var recipientUserLastName = recipientUser.LastName; greetingCard.recipientUserFullName = recipientUserFirstName + " " + recipientUserLastName; greetingCard.fullSentence = greetingCard.sentencePrefix + ", " + recipientUserFirstName + "! " + greetingCard.sentenceSuffix; } else { greetingCard.recipientUserFullName = greetingCard.recipientUserEmail; greetingCard.recipientUserEmail = "*****@*****.**"; greetingCard.fullSentence = greetingCard.sentencePrefix + ", " + greetingCard.recipientUserFullName + "! " + greetingCard.sentenceSuffix; } Image selectedImage = _context.Images.FirstOrDefaultAsync(m => m.imageName == greetingCard.image).Result; if (selectedImage != default) { greetingCard.image = selectedImage.imagePath; greetingCard.imageID = selectedImage.ID; greetingCard.imageName = selectedImage.imageName; } var sentence = _context.SentimentSentences.FirstOrDefaultAsync(m => m.prefix == greetingCard.sentencePrefix && m.suffix == greetingCard.sentenceSuffix).Result; if (sentence == default) { var sentenceBySuffix = _context.SentimentSentences.FirstOrDefaultAsync(m => m.suffix == greetingCard.sentenceSuffix).Result; if (sentenceBySuffix != default) { var newSentenceToDB = new SentimentSentence { prefix = greetingCard.sentencePrefix, suffix = greetingCard.sentenceSuffix, complexity = sentenceBySuffix.complexity, recipientUserEmail = greetingCard.recipientUserEmail, recipientUserFirstName = greetingCard.recipientUserFullName, theme = greetingCard.theme }; _context.SentimentSentences.Add(newSentenceToDB); } } _context.Add(greetingCard); await _context.SaveChangesAsync(); if (greetingCard.publishedToFacebook) { postToFacebook(greetingCard.senderUserFullName, greetingCard.sentencePrefix, greetingCard.recipientUserFullName, greetingCard.sentenceSuffix); } return(RedirectToAction(nameof(Index))); } greetingCard.ImagesDB = _context.Images; greetingCard.SentimentSentencesDB = _context.SentimentSentences; return(View(greetingCard)); }
public async Task <IActionResult> Index() { if (_context.GreetingCards.Any()) { _context.GreetingCards.First().ImagesDB = _context.Images; return(View(await _context.GreetingCards.ToListAsync())); } else { GreetingCard greetingCard = new GreetingCard { ImagesDB = _context.Images }; List <GreetingCard> greetingCardEnumerable = new List <GreetingCard>(); greetingCardEnumerable.Add(greetingCard); return(View(greetingCardEnumerable)); } }
public ActionResult SavedCard(GreetingCard card, int templateId) { if (!ModelState.IsValid) { return(RedirectToAction("GreetingCard", new { id = templateId })); } else { CardTemplateSqlDAL Cdal = new CardTemplateSqlDAL(); CardTemplate temp = Cdal.GetTemplate(templateId); GreetingCardSqlDal Gdal = new GreetingCardSqlDal(); card.TemplateId = templateId; Gdal.SaveCard(card); FullCard fullCard = new FullCard(temp, card); return(View("SavedCard", fullCard)); } }
// GET: GreetingCards/Create public IActionResult Create() { var model = new GreetingCard { SentimentSentencesDB = _context.SentimentSentences, ImagesDB = _context.Images }; //------------SUGGEST A GREETING CARD-------------------------- //if there are enough users for K-Means, find a greeting card for suggestion if (_context.Users.Count() >= 10) { //find the logged in user var email = User.Identity.Name; User loggedInUser = _context.Users.FirstOrDefault(u => u.Email == email); //----------- K MEANS (in our case 9-means) -------------------- List <double[]> observations = kMeansGetObservations(); //array's size is the number of observations, containing the label for each observation (in the observations' order) int[] labels = clusterKMeans(observations.ToArray()); int userIndex = FindUserIndexInDb(loggedInUser); if (userIndex == -1) { return(View(model)); } else { //get the user's label int userLabel = labels[userIndex]; //find whether another user with the same label exists int userFromTheSameLabelIndex = -1; for (int i = 0; i < labels.Length; i++) { if (labels[i] == userLabel) { userFromTheSameLabelIndex = i; } } //there isn't another user from the same label if (userFromTheSameLabelIndex == -1) { return(View(model)); } //there exists another user from the same label else { User userFromTheSameLabel = _context.Users.ToArray()[userFromTheSameLabelIndex]; //find all greeting cards that the other user created List <GreetingCard> otherUserGreetingCards = new List <GreetingCard>(); foreach (GreetingCard g in _context.GreetingCards) { if (g.sendertUserEmail == userFromTheSameLabel.Email) { otherUserGreetingCards.Add(g); } } //the other user (from the same label) created some greeting card //choose one at random and return it to the view if (otherUserGreetingCards.Any()) { Random r = new Random(); int random = r.Next(0, otherUserGreetingCards.Count()); GreetingCard toReturn = otherUserGreetingCards.ToArray()[random]; toReturn.ImagesDB = _context.Images; toReturn.SentimentSentencesDB = _context.SentimentSentences; return(View(toReturn)); } } } return(View(model)); } else { return(View(model)); } }
public async Task <IActionResult> Search(string theme, string fullSentence, string image) { var selectedGreetingCards = from g in _context.GreetingCards select g; //all three search parameters were given if (!string.IsNullOrEmpty(theme) && !string.IsNullOrEmpty(fullSentence) && !string.IsNullOrEmpty(theme)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.theme == theme && g.fullSentence == fullSentence && g.imageName == image); } //only "theme" and "full sentence" were given else if (!string.IsNullOrEmpty(theme) && !string.IsNullOrEmpty(fullSentence) && string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.theme == theme && g.fullSentence == fullSentence); } //only "theme" and "image" were given else if (!string.IsNullOrEmpty(theme) && string.IsNullOrEmpty(fullSentence) && !string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.theme == theme && g.imageName == image); } //only "full sentence" and "image" were given else if (string.IsNullOrEmpty(theme) && !string.IsNullOrEmpty(fullSentence) && !string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.fullSentence == fullSentence && g.imageName == image); } //only "full sentence" was given else if (string.IsNullOrEmpty(theme) && !string.IsNullOrEmpty(fullSentence) && string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.fullSentence == fullSentence); } //only "theme" was given else if (!string.IsNullOrEmpty(theme) && string.IsNullOrEmpty(fullSentence) && string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.theme == theme); } //only "image" was given else if (string.IsNullOrEmpty(theme) && string.IsNullOrEmpty(fullSentence) && !string.IsNullOrEmpty(image)) { selectedGreetingCards = selectedGreetingCards.Where(g => g.imageName == image); } //--------- search returned result --------------- if (selectedGreetingCards.Any()) { selectedGreetingCards.First().ImagesDB = _context.Images; return(View("Index", await selectedGreetingCards.ToListAsync())); } //---------search returns empty-------------------- else { GreetingCard greetingCard = new GreetingCard { ImagesDB = _context.Images }; List <GreetingCard> greetingCardEnumerable = new List <GreetingCard>(); greetingCardEnumerable.Add(greetingCard); return(View("Index", greetingCardEnumerable)); } }
public async Task <IActionResult> Edit(int id, [Bind("ID,theme,sendertUserEmail,senderUserFullName,recipientUserEmail,sentencePrefix,fullSentence,sentenceSuffix,image,publishedToFacebook")] GreetingCard greetingCard) { if (id != greetingCard.ID) { return(NotFound()); } if (ModelState.IsValid) { try { var recipientUser = _context.Users.FirstOrDefaultAsync(m => m.Email == greetingCard.recipientUserEmail).Result; if (recipientUser != default) { var recipientUserFirstName = recipientUser.FirstName; var recipientUserLastName = recipientUser.LastName; greetingCard.recipientUserFullName = recipientUserFirstName + " " + recipientUserLastName; greetingCard.fullSentence = greetingCard.sentencePrefix + ", " + recipientUserFirstName + "! " + greetingCard.sentenceSuffix; } else { greetingCard.recipientUserFullName = greetingCard.recipientUserEmail; greetingCard.recipientUserEmail = "*****@*****.**"; greetingCard.fullSentence = greetingCard.sentencePrefix + ", " + greetingCard.recipientUserFullName + "! " + greetingCard.sentenceSuffix; } Image selectedImage = _context.Images.FirstOrDefaultAsync(m => m.imageName == greetingCard.image).Result; if (selectedImage != default) { greetingCard.image = selectedImage.imagePath; greetingCard.imageID = selectedImage.ID; greetingCard.imageName = selectedImage.imageName; } var sentence = _context.SentimentSentences.FirstOrDefaultAsync(m => m.prefix == greetingCard.sentencePrefix && m.suffix == greetingCard.sentenceSuffix).Result; if (sentence == default) { var sentenceBySuffix = _context.SentimentSentences.FirstOrDefaultAsync(m => m.suffix == greetingCard.sentenceSuffix).Result; if (sentenceBySuffix != default) { var newSentenceToDB = new SentimentSentence { prefix = greetingCard.sentencePrefix, suffix = greetingCard.sentenceSuffix, complexity = sentenceBySuffix.complexity, recipientUserEmail = greetingCard.recipientUserEmail, recipientUserFirstName = greetingCard.recipientUserFullName, theme = greetingCard.theme }; _context.SentimentSentences.Add(newSentenceToDB); } } _context.Update(greetingCard); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!GreetingCardsExists(greetingCard.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(greetingCard)); }