Example #1
0
        public bool SendMail(string emailAddress, string blobUrl, string name)
        {
            try
            {
                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient("smtp.gmail.com");

                mail.From = new MailAddress("*****@*****.**");
                mail.To.Add(emailAddress);
                mail.Subject    = "Din VM-Tipsrad";
                mail.IsBodyHtml = true;
                mail.Body       = GetEmailBody(blobUrl, name);

                SmtpServer.Port = 587;
                string password = ConfigurationManager.AppSettings["MailPassword"];

                SmtpServer.Credentials = new System.Net.NetworkCredential("masterskapstips", password);
                SmtpServer.EnableSsl   = true;

                SmtpServer.Send(mail);

                string logText = string.Format("Email sent to: {0}, name: {1}", emailAddress, name);

                Log4NetLogic.Log(Log4NetLogic.LogLevel.INFO, logText, "SendMail");
            }
            catch (Exception e)
            {
                string logText = string.Format("Email is: {0}. Name: {1}.", emailAddress, name);
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, logText, "SendMail", e);

                return(false);
            }
            return(true);
        }
Example #2
0
        public string SavePDF(PdfDocument document, string name)
        {
            //string accountKey = "NADhxvTU40qlYify/eTZR+li4xkIaIUsbx8Kgz+SKUEoXmiVomKVIVvCTQjCSd+xyVNLy5x44e8nu44kl6FO7w==";
            try
            {
                CloudStorageAccount account = GetStorageAccount();

                CloudBlobClient client = account.CreateCloudBlobClient();

                CloudBlobContainer sampleContainer = client.GetContainerReference("tips");
                sampleContainer.CreateIfNotExists();

                name = NameWithoutSpace(name);
                string         fileName = string.Format("{0}_{1}.pdf", name, Guid.NewGuid());
                CloudBlockBlob blob     = sampleContainer.GetBlockBlobReference(fileName);

                using (MemoryStream myStream = new MemoryStream())
                {
                    document.Save(myStream, false);

                    blob.UploadFromStream(myStream);
                }

                return(blob.SnapshotQualifiedStorageUri.PrimaryUri.ToString());
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in:", "SavePDF", e);

                return("Något gick fel när PDF skulle sparas.");
            }
        }
Example #3
0
        public static bool SaveUpdatedPaymentStatus(List <int> idsWhoHasPayed)
        {
            try
            {
                using (var db = new FotbollsTipsModel())
                {
                    foreach (var item in idsWhoHasPayed)
                    {
                        var tipsData = (from hits in db.TipsDatas
                                        where hits.Id == item
                                        select hits).FirstOrDefault();

                        tipsData.HasPayed = true;
                    }

                    db.SaveChanges();
                }

                return(true);
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in", "SaveUpdatedPaymentStatus", e);

                return(false);
            }
        }
Example #4
0
        public static bool UpdateRandomValue(string name, string value)
        {
            try
            {
                using (var db = new FotbollsTipsModel())
                {
                    var result = (from hits in db.TipsRandomValues
                                  where hits.Name == name
                                  select hits).FirstOrDefault();

                    result.Value    = value;
                    result.Modified = DateTime.Now;

                    db.SaveChanges();

                    return(true);
                }
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in", "UpdateRandomValue", e);

                return(false);
            }
        }
Example #5
0
        public static List <TipsData> GetDataForPresentation()
        {
            try
            {
                // Get raw data
                List <TipsData> rawData = GetTipsRawData();

                // Calculate points
                List <TipsData> calculatedPoints = CalculatePoints(rawData);

                // Sort list by points
                List <TipsData> sortedList = calculatedPoints.OrderByDescending(o => o.Poäng).ToList();

                // Manipulate text string
                List <TipsData> returnList = ManipulateTextStrings(sortedList);

                return(returnList);
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in", "GetDataForPresentation", e);

                return(null);
            }
        }
Example #6
0
        private static void SaveTipsDataToLogFile(TipsData t)
        {
            var logText = string.Format("Namn: {0}, Telefon: {1}, mail: {2}. ", t.Namn, t.PhoneNumber, t.Email);

            // - - - - - DataLogic_SaveTipsDataToLogFile.txt - Code area starts - - - - - - -

            logText += string.Format("Frankrike_Sydkorea: {0},", t.Frankrike_Sydkorea);
            logText += string.Format("Tyskland_Kina: {0},", t.Tyskland_Kina);
            logText += string.Format("Spanien_Sydafrika: {0},", t.Spanien_Sydafrika);
            logText += string.Format("Norge_Nigeria: {0},", t.Norge_Nigeria);
            logText += string.Format("Australien_Italien: {0},", t.Australien_Italien);
            logText += string.Format("Brasilien_Jamaica: {0},", t.Brasilien_Jamaica);
            logText += string.Format("England_Skottland: {0},", t.England_Skottland);
            logText += string.Format("Argentina_Japan: {0},", t.Argentina_Japan);
            logText += string.Format("Kanada_Kamerun: {0},", t.Kanada_Kamerun);
            logText += string.Format("Nya Zeeland_Nederländerna: {0},", t.NyaZeeland_Nederländerna);
            logText += string.Format("Chile_Sverige: {0},", t.Chile_Sverige);
            logText += string.Format("Usa_Thailand: {0},", t.Usa_Thailand);
            logText += string.Format("Nigeria_Sydkorea: {0},", t.Nigeria_Sydkorea);
            logText += string.Format("Tyskland_Spanien: {0},", t.Tyskland_Spanien);
            logText += string.Format("Frankrike_Norge: {0},", t.Frankrike_Norge);
            logText += string.Format("Australien_Brasilien: {0},", t.Australien_Brasilien);
            logText += string.Format("Sydafrika_Kina: {0},", t.Sydafrika_Kina);
            logText += string.Format("Japan_Skottland: {0},", t.Japan_Skottland);
            logText += string.Format("Jamaica_Italien: {0},", t.Jamaica_Italien);
            logText += string.Format("England_Argentina: {0},", t.England_Argentina);
            logText += string.Format("Nederländerna_Kamerun: {0},", t.Nederländerna_Kamerun);
            logText += string.Format("Kanada_Nya Zeeland: {0},", t.Kanada_NyaZeeland);
            logText += string.Format("Sverige_Thailand: {0},", t.Sverige_Thailand);
            logText += string.Format("Usa_Chile: {0},", t.Usa_Chile);
            logText += string.Format("Kina_Spanien: {0},", t.Kina_Spanien);
            logText += string.Format("Sydafrika_Tyskland: {0},", t.Sydafrika_Tyskland);
            logText += string.Format("Nigeria_Frankrike: {0},", t.Nigeria_Frankrike);
            logText += string.Format("Sydkorea_Norge: {0},", t.Sydkorea_Norge);
            logText += string.Format("Italien_Brasilien: {0},", t.Italien_Brasilien);
            logText += string.Format("Jamaica_Australien: {0},", t.Jamaica_Australien);
            logText += string.Format("Japan_England: {0},", t.Japan_England);
            logText += string.Format("Skottland_Argentina: {0},", t.Skottland_Argentina);
            logText += string.Format("Nederländerna_Kanada: {0},", t.Nederländerna_Kanada);
            logText += string.Format("Kamerun_Nya Zeeland: {0},", t.Kamerun_NyaZeeland);
            logText += string.Format("Sverige_Usa: {0},", t.Sverige_Usa);
            logText += string.Format("Thailand_Chile: {0},", t.Thailand_Chile);


            // - - - - - DataLogic_SaveTipsDataToLogFile.txt - Code area ends - - - - - - -

            Log4NetLogic.Log(Log4NetLogic.LogLevel.INFO, logText, "SaveTipsDataToLogFile");
        }
Example #7
0
        public static string GetRandomValue(string name)
        {
            try
            {
                using (var db = new FotbollsTipsModel())
                {
                    var result = (from hits in db.TipsRandomValues
                                  where hits.Name == name
                                  select hits).FirstOrDefault();

                    return(result.Value);
                }
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in", "GetRandomValue", e);

                throw;
            }
        }
Example #8
0
        public static SavedTipsDataResult SaveNewTipsData(TipsData tipsData)
        {
            try
            {
                SaveTipsDataToLogFile(tipsData);
            }
            catch (Exception)
            {
                // Do nothing, since log to textfile does not work
            }

            try
            {
                using (var db = new FotbollsTipsModel())
                {
                    db.TipsDatas.Add(tipsData);
                    db.SaveChanges();

                    return(new SavedTipsDataResult()
                    {
                        IdOfTipsdata = tipsData.Id,
                        SuccessedSave = true
                    });
                }
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in", "SaveNewTipsData", e);

                return(new SavedTipsDataResult()
                {
                    IdOfTipsdata = 0,
                    SuccessedSave = false
                });
            }
        }
Example #9
0
        public static ParticipateResult ParticipateInTips(FormCollection col)
        {
            try
            {
                TipsData newTipsData = new TipsData()
                {
                    EntryDate = DateTime.Now,
                    Poäng     = 0,
                    HasPayed  = false,

                    Namn        = col["myname"],
                    PhoneNumber = col["myphonenumber"],
                    Email       = col["myemail"],

                    Finallag1 = col["finalteam1"],
                    Finallag2 = col["finalteam2"],
                    Vinnare   = col["winner"],

                    // - - - - - BusinessLogic_ParticipateInTips.txt - Code area starts - - - - - - -

                    Frankrike_Sydkorea       = GetGameResult(col, "frasyd"),
                    Tyskland_Kina            = GetGameResult(col, "tyskin"),
                    Spanien_Sydafrika        = GetGameResult(col, "spasyd"),
                    Norge_Nigeria            = GetGameResult(col, "nornig"),
                    Australien_Italien       = GetGameResult(col, "ausita"),
                    Brasilien_Jamaica        = GetGameResult(col, "brajam"),
                    England_Skottland        = GetGameResult(col, "engsko"),
                    Argentina_Japan          = GetGameResult(col, "argjap"),
                    Kanada_Kamerun           = GetGameResult(col, "kankam"),
                    NyaZeeland_Nederländerna = GetGameResult(col, "nyaned"),
                    Chile_Sverige            = GetGameResult(col, "chisve"),
                    Usa_Thailand             = GetGameResult(col, "usatha"),
                    Nigeria_Sydkorea         = GetGameResult(col, "nigsyd"),
                    Tyskland_Spanien         = GetGameResult(col, "tysspa"),
                    Frankrike_Norge          = GetGameResult(col, "franor"),
                    Australien_Brasilien     = GetGameResult(col, "ausbra"),
                    Sydafrika_Kina           = GetGameResult(col, "sydkin"),
                    Japan_Skottland          = GetGameResult(col, "japsko"),
                    Jamaica_Italien          = GetGameResult(col, "jamita"),
                    England_Argentina        = GetGameResult(col, "engarg"),
                    Nederländerna_Kamerun    = GetGameResult(col, "nedkam"),
                    Kanada_NyaZeeland        = GetGameResult(col, "kannya"),
                    Sverige_Thailand         = GetGameResult(col, "svetha"),
                    Usa_Chile            = GetGameResult(col, "usachi"),
                    Kina_Spanien         = GetGameResult(col, "kinspa"),
                    Sydafrika_Tyskland   = GetGameResult(col, "sydtys"),
                    Nigeria_Frankrike    = GetGameResult(col, "nigfra"),
                    Sydkorea_Norge       = GetGameResult(col, "sydnor"),
                    Italien_Brasilien    = GetGameResult(col, "itabra"),
                    Jamaica_Australien   = GetGameResult(col, "jamaus"),
                    Japan_England        = GetGameResult(col, "japeng"),
                    Skottland_Argentina  = GetGameResult(col, "skoarg"),
                    Nederländerna_Kanada = GetGameResult(col, "nedkan"),
                    Kamerun_NyaZeeland   = GetGameResult(col, "kamnya"),
                    Sverige_Usa          = GetGameResult(col, "sveusa"),
                    Thailand_Chile       = GetGameResult(col, "thachi"),



                    // - - - - - BusinessLogic_ ParticipateInTips.txt - Code area ends - - - - - - -
                };

                // Save to database
                var saveResultOfTipsData = DataLogic.SaveNewTipsData(newTipsData);

                bool emailSent = false;

                var storageWorker = new StorageLogic();

                if (saveResultOfTipsData.SuccessedSave)
                {
                    // Create PDF
                    var         pdfWorder   = new PdfLogic();
                    PdfDocument pdfDocument = pdfWorder.SaveTipsDatas(newTipsData);

                    #region During development
                    //// During development - Store locally on computer

                    //string filePath = GetFileNameAndPath("", false);
                    //pdfDocument.Save(filePath);

                    //Process.Start(filePath);

                    //return true;
                    #endregion

                    if (pdfDocument != null)
                    {
                        // Store in blob storage
                        string imagePath = storageWorker.SavePDF(pdfDocument, newTipsData.Namn);

                        // Save file path to PDF
                        TipsPathToPDF pathToPdf = new TipsPathToPDF()
                        {
                            PathToPDF       = imagePath,
                            TipsData_SoftFK = saveResultOfTipsData.IdOfTipsdata
                        };

                        var imagePathSaved = DataLogic.SaveNewTipsDataImagePath(pathToPdf);

                        //// Send email
                        //string getEmail = col["getemail"];

                        ////MNTODO Ta bort if vid deploy
                        //if (getEmail.ToLower() == "ja")
                        //{
                        var mailWorker = new MailLogic();
                        emailSent = mailWorker.SendMail(newTipsData.Email, pathToPdf.PathToPDF, col["myname"]);
                        //}
                    }
                }

                //var sendSms = GetRandomValue("SendSms");
                //if (sendSms == "1")
                //{
                //    string message = string.Format("'{0}' har lämnat en tipsrad. Mail skickat: {1}. Mailadress: {2}.", col["myname"], emailSent, col["myemail"]);

                //    storageWorker.SendSms(message);
                //}

                //return new ParticipateResult(true, emailSent, newTipsData.Email);

                return(new ParticipateResult(saveResultOfTipsData.SuccessedSave, emailSent, newTipsData.Email));
            }
            catch (Exception e)
            {
                Log4NetLogic.Log(Log4NetLogic.LogLevel.ERROR, "An error in: ", "ParticipateInTips", e);

                return(new ParticipateResult(false, false, ""));
            }
        }