Пример #1
0
        /// <summary>
        /// Deletes the contest entry by the fileId,
        /// If the contest entry is allready approved, won't be deleted,,,
        /// </summary>
        /// <param name="fileId"></param>
        public void DeleteContestEntriesByFileId(long fileId)
        {
            var contestEntries = from l in _context.awContestEntries
                                 where l.fileId.Equals(fileId)
                                 //&& !l.isEnabled
                                 select l;

            if (contestEntries == null || contestEntries.Count() == 0)
            {
                return;
            }

            _context.awContestEntries.DeleteAllOnSubmit(contestEntries);

            //SEND EMAIL TO INFORM USER THAT THE CONTEST ENTRY NOT APPROVED
            AWAPI_BusinessLibrary.library.EmailTemplateLib lib = new EmailTemplateLib();
            foreach (awContestEntry entry in contestEntries)
            {
                if (entry.awContest.sendEmailAfterDeleteEntryTemplateId == null)
                {
                    break;
                }

                lib.Send(entry.awContest.sendEmailAfterDeleteEntryTemplateId.Value,
                         entry.email,
                         "firstname|" + entry.firstName,
                         "lastname|" + entry.lastName,
                         "date|" + DateTime.Now.ToString());
            }

            _context.SubmitChanges();
        }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="contestEntryId"></param>
        /// <param name="isEnabled"></param>
        public void UpdateContestEntriesStatusesByFileId(long fileId, bool isEnabled)
        {
            var contestEntries = from l in _context.awContestEntries
                                 where l.fileId.Equals(fileId)
                                 select l;

            if (contestEntries == null || contestEntries.Count() == 0)
            {
                return;
            }

            foreach (awContestEntry entry in contestEntries)
            {
                entry.isEnabled = isEnabled;
            }
            _context.SubmitChanges();


            //send email
            AWAPI_BusinessLibrary.library.EmailTemplateLib lib = new EmailTemplateLib();
            foreach (awContestEntry entry in contestEntries)
            {
                if (entry.awContest.sendEmailAfterApproveEntryTemplateId == null)
                {
                    break;
                }

                lib.Send(entry.awContest.sendEmailAfterApproveEntryTemplateId.Value,
                         entry.email,
                         "firstname|" + entry.firstName,
                         "lastname|" + entry.lastName,
                         "date|" + DateTime.Now.ToString());
            }
        }
Пример #3
0
        public void ResetPassword(long siteId, string email, string redirectLink)
        {
            awSite site = new SiteLibrary().Get(siteId);

            if (site == null || !site.isEnabled)
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.SITE.DOES_NOT_EXIST));
            }

            if (site.userResetPasswordEmailTemplateId == null)
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.SITE.RESET_PASSWORD_TEMPLATE_DOES_NOT_EXIST));
            }

            //GET THE USER
            awUser user = (from l in _context.awUsers
                           where l.email.Equals(email) && l.isEnabled != false
                           select l).FirstOrDefault();

            if (user == null)
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.USER.DOES_NOT_EXIST));
            }


            //CREATE NEW PASSWORD
            const int PASSWORD_LENGTH = 6;
            string    _allowedChars   = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
            Random    randNum         = new Random();

            char[] chars            = new char[PASSWORD_LENGTH];
            int    allowedCharCount = _allowedChars.Length;

            for (int i = 0; i < PASSWORD_LENGTH; i++)
            {
                chars[i] = _allowedChars[(int)((_allowedChars.Length) * randNum.NextDouble())];
            }
            string password = new string(chars);


            //FIRST SEND EMAIL BEFORE RESETING THE PASSWORD
            AWAPI_BusinessLibrary.library.EmailTemplateLib emailLib = new EmailTemplateLib();
            awEmailTemplate template = emailLib.Get(site.userResetPasswordEmailTemplateId.Value);

            if (template == null)
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.SITE.RESET_PASSWORD_TEMPLATE_DOES_NOT_EXIST));
            }

            emailLib.Send(site.userResetPasswordEmailTemplateId.Value, email,
                          "firstname|" + user.firstName,
                          "lastname|" + user.lastName,
                          "password|" + password,
                          "link|" + redirectLink,
                          "date|" + DateTime.Now.ToString());

            //UPDATE PASSWORD
            UpdatePassword(user.userId, password);
        }
Пример #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="contestId"></param>
        /// <param name="userId"></param>
        /// <param name="isEnabled"></param>
        /// <param name="cultureCode"></param>
        /// <param name="email"></param>
        /// <param name="firstName"></param>
        /// <param name="lastName"></param>
        /// <param name="title"></param>
        /// <param name="description"></param>
        /// <param name="fileId"></param>
        /// <param name="fileUrl"></param>
        /// <param name="tel"></param>
        /// <param name="telType"></param>
        /// <param name="address"></param>
        /// <param name="city"></param>
        /// <param name="province"></param>
        /// <param name="postalCode"></param>
        /// <param name="country"></param>
        /// <returns></returns>
        public long AddContestEntry(long contestId, long?userId, bool isEnabled, string cultureCode, string email, string firstName, string lastName,
                                    string title, string description, long?fileId, string fileUrl,
                                    string tel, string telType, string address, string city, string province,
                                    string postalCode, string country)
        {
            long            id      = AWAPI_Common.library.MiscLibrary.CreateUniqueId();
            ContestExtended contest = GetContest(contestId, true);

            if (contest == null)
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.CONTEST.DOES_NOT_EXIST));
            }

            awContestEntry entry = new awContestEntry();

            if (String.IsNullOrEmpty(email) || !AWAPI_Common.library.Validation.IsEmail(email))
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.CONTEST.EMAIL_REQUIRED));
            }

            if (String.IsNullOrEmpty(firstName) || String.IsNullOrEmpty(lastName))
            {
                throw new Exception(ErrorLibrary.ErrorMessage(ErrorLibrary.CONTEST.FIRSTNAME_LASTNAME_REQUIRED));
            }

            entry.contestEntryId = id;
            entry.contestId      = contestId;
            entry.userId         = userId;
            entry.isEnabled      = isEnabled;
            entry.cultureCode    = cultureCode;

            entry.email     = email;
            entry.firstName = firstName;
            entry.lastName  = lastName;

            entry.title       = title;
            entry.description = description;
            entry.fileId      = fileId;
            entry.fileUrl     = fileUrl;

            entry.tel        = tel;
            entry.telType    = telType;
            entry.address    = address;
            entry.city       = city;
            entry.province   = province;
            entry.postalCode = postalCode;
            entry.country    = country;

            entry.createDate = DateTime.Now;

            _context.awContestEntries.InsertOnSubmit(entry);
            _context.SubmitChanges();


            AWAPI_BusinessLibrary.library.EmailTemplateLib lib = new EmailTemplateLib();
            //SEND EMAIL TO THE MODERATORS --------------------
            if (contest.sendEmailToModeratorTemplateId != null && !String.IsNullOrEmpty(contest.sendEmailToModeratorRecipes))
            {
                string link = "";
                if (entry.fileId != null)
                {
                    link = ConfigurationLibrary.Config.adminBaseUrl + "admin/files.aspx?fileid=" + entry.fileId.Value.ToString();
                }

                lib.Send(entry.awContest.sendEmailToModeratorTemplateId.Value,
                         contest.sendEmailToModeratorRecipes,
                         "firstname|" + entry.firstName,
                         "lastname|" + entry.lastName,
                         "link|" + link,
                         "date|" + DateTime.Now.ToString());
            }
            //SEND EMAIL TO THE CONTENDER --------------------
            if (contest.sendEmailAfterSubmissionTemplateId != null)
            {
                lib.Send(entry.awContest.sendEmailAfterSubmissionTemplateId.Value,
                         entry.email,
                         "firstname|" + entry.firstName,
                         "lastname|" + entry.lastName,
                         "date|" + DateTime.Now.ToString());
            }



            return(id);
        }