예제 #1
0
        public ActionResult Index(ContactFormModel Model)
        {
            if (!ModelState.IsValid)
            {
                return(View(Model));
            }

            var messageBody = new StringBuilder();

            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Ново съобщение от: " + Model.FirstName + " " + Model.LastName);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Телефон: " + Model.Phone);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Имейл: " + Model.Email);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Съобщение: " + Model.Message);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            EmailFunctions.SendEmail(ConfigurationManager.AppSettings["AdminEmail"], "Ново запитване от сайта fakturi.nl", messageBody.ToString());
            TempData["MessageIsSent"] = "Съобщението е изпратено успешно.";
            return(View(Model));
        }
        public void CreateEmailList_WhenStoredProcedureEmailListCountReturnsRows_EmailListIsCreated(bool testBlast)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            _testBlast = testBlast;
            var dummyCellValue = "dummy Cell Value";

            ShimDbDataAdapter.AllInstances.FillDataSetString = (x, dataset, z) =>
            {
                dataset.Tables.Add(FillDataSetDummyTable("dummyColumn", dummyCellValue));
                return(0);
            };

            //Act
            var emailList = EmailFunctions.CreateEmailList(_blast, _bounceDomain, _testBlast);

            //Assert
            emailList.ShouldSatisfyAllConditions(
                () => emailList.ShouldNotBeNull(),
                () => emailList.Rows.ShouldNotBeNull(),
                () => emailList.Rows[0].ItemArray.ShouldNotBeNull(),
                () => emailList.Rows[0].ItemArray.ShouldNotBeEmpty(),
                () =>
            {
                var resultCellValue = emailList.Rows[0].ItemArray[0];
                resultCellValue.ShouldBe(dummyCellValue);
            });
        }
예제 #3
0
        public ActionResult SendIvoiceToEmail(string EmailReciever)
        {
            try
            {
                var userId = User.Identity.GetUserId();

                var faktura = db.Fakturis.OrderByDescending(o => o.DateCreated).Where(u => u.UserID == userId).FirstOrDefault();

                var strResult = faktura.FakturaHtml.Replace("\r\n", string.Empty);

                var modelForEmailBody = new InvoiceEmailBodyViewModel()
                {
                    Total          = faktura.TotalPrice.ToString(),
                    FakturaDate    = faktura.InvoiceDate.ToString("dd.MM.yyyy"),
                    FakturaEndDate = faktura.InvoiceEndDate.ToString("dd.MM.yyyy"),
                    FakturaNumber  = faktura.FakturaNumber
                };
                string strEmailResult = RenderEmailBodyView("InvoiceEmailBody", modelForEmailBody);

                byte[] bytes = GeneratePDF(strResult);

                EmailFunctions.SendEmail(EmailReciever, "Faktuur van: " + faktura.Company.CompanyName + " - Periode: " + faktura.Period, strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
        public void CreateEmailList_WhenhasEmailPreviewIsTrue_CreateCustomerEmailTestFromEngineIsCalled(bool testBlast)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            _testBlast = testBlast;
            var emailPreviewCreated = false;

            ShimDataFunctions.ExecuteScalarString = (sqlQuery) => 1;
            ShimPreview.AllInstances.CreateCustomerEmailTestFromEngineInt32Int32 = (x, y, z) =>
            {
                emailPreviewCreated = true;
                return("sample String");
            };
            ShimPreview.GetSpamSeedAddresses = () =>
            {
                var sampleStringArr = new string[]
                {
                    "sampleString1",
                    "sampleString2",
                };
                return(sampleStringArr);
            };

            //Act
            var emailList = EmailFunctions.CreateEmailList(_blast, _bounceDomain, _testBlast);

            //Assert
            emailPreviewCreated.ShouldBeTrue();
        }
        public void HandleSingleBlast_OnECNException_LogError()
        {
            // Arrange
            var emailFn         = new EmailFunctions();
            var blastEngine     = new ECNBlastEngine();
            var exceptionLogged = false;

            ShimApplicationLog.LogCriticalErrorExceptionStringInt32StringInt32Int32 =
                (ex, sourceMethod, applicationID, note, gdCharityID, ecnCustomerID) =>
            {
                exceptionLogged = true;
                return(1);
            };
            ShimDataFunctions.GetDataTableString = (cmd) =>
            {
                throw new CommonObjects::ECNException(new List <CommonObjects::ECNError>()
                {
                    new CommonObjects::ECNError
                    {
                        ErrorMessage = "HandleSingleBlast",
                    }
                });
            };
            ShimECNBlastEngine.AllInstances.SetBlastSingleToErrorInt32 = (eng, id) => { };

            // Act
            typeof(ECNBlastEngine).CallMethod(METHOD_HandleSingleBlast,
                                              new object[] { emailFn }, blastEngine);

            // Assert
            Assert.IsTrue(exceptionLogged);
        }
예제 #6
0
        public ActionResult DownloadInvoice(int?idInvoice)
        {
            try
            {
                var userId = User.Identity.GetUserId();

                var strResult = db.Fakturis.OrderByDescending(o => o.DateCreated).Where(u => u.UserID == userId).FirstOrDefault().FakturaHtml;

                byte[] bytes = GeneratePDF(strResult);

                Response.Buffer = false;
                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                //Set the appropriate ContentType.
                Response.ContentType = "Application/pdf";
                //Write the file content directly to the HTTP content output stream.
                Response.BinaryWrite(bytes);
                Response.Flush();
                Response.End();
                return(File(bytes, "application/pdf", DateTime.Now.ToString(CultureInfo.InvariantCulture)));
            }
            catch (Exception ex)
            {
                EmailFunctions.SendExceptionToAdmin(ex);
                return(Json(false));
            }
        }
        public ActionResult SendWerkbriefToEmail(string EmailReciever)
        {
            try
            {
                var strResult  = "";
                var userId     = User.Identity.GetUserId();
                var werkbrifef = db.Werkbriefs.OrderByDescending(o => o.DateCreated).FirstOrDefault(u => u.UserId == userId);
                strResult = werkbrifef?.WerkbriefHTML;

                strResult = strResult?.Replace("\r\n", string.Empty);
                byte[] bytes = GeneratePDF(strResult);

                var modelForEmailBody = new WerkbriefEmailBodyViewModel();
                modelForEmailBody.CompanyName = werkbrifef.Company.CompanyName;
                string strEmailResult = RenderEmailBodyView("WerkbriefEmailBody", modelForEmailBody);;

                EmailFunctions.SendEmail(EmailReciever, $"Werkbrief van {werkbrifef?.Company.CompanyName} - periode: { werkbrifef?.Period}", strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
예제 #8
0
        public ActionResult GetRoles(UserRolesModels model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ApplicationUser user    = context.Users.Where(u => u.UserName.Equals(model.SelectedUsers, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
                    var             account = new AccountController();


                    //   ViewBag.RolesForThisUser = account.UserManager.GetRoles(user.Id);

                    var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new AppDbContext()));
                    ViewBag.RolesForThisUser = um.GetRoles(user.Id);

                    ViewBag.Users = context.Users.OrderBy(u => u.UserName).ToList().Select(uu => new SelectListItem {
                        Value = uu.Email, Text = uu.FirstName + " " + uu.LastName
                    }).ToList();

                    // prepopulat roles for the view dropdown
                    var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem {
                        Value = rr.Name.ToString(), Text = rr.Name
                    }).ToList();
                    ViewBag.Roles = list;
                }
                catch (Exception ex)
                {
                    EmailFunctions.SendExceptionToAdmin(ex);
                }
            }

            return(View("ManageUserRoles"));
        }
        public string RenderViewToString(string templateName, object model)
        {
            templateName = "~/Areas/WerkbriefTemplates/Views/WerkbriefTemplate/" + templateName + ".cshtml";

            //TODO: Make enumeration for variable templateName.

            ViewData.Model = model;

            try
            {
                using (StringWriter sw = new StringWriter())
                {
                    ViewEngineResult viewResult  = ViewEngines.Engines.FindView(ControllerContext, templateName, null);
                    ViewContext      viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
                    viewResult.View.Render(viewContext, sw);
                    viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);

                    return(sw.ToString());
                }
            }
            catch (Exception ex)
            {
                EmailFunctions.SendExceptionToAdmin(ex);
                TempData["ResultErrors"] = "There was a problem with rendering template for email!";
                return("Error in register form! Email with the problem was send to aministrator.");
            }
        }
예제 #10
0
        private static bool InternalSendMail(EmailFunctions EmailFunction, List <string> To, string EmailSubject, string EmailContent, List <Attachment> Attachments, out string ErrorMessage)
        {
            try
            {
                MailMessage _Message = new MailMessage();
                _Message.Subject         = EmailSubject;
                _Message.SubjectEncoding = System.Text.Encoding.Unicode;
                _Message.Body            = EmailContent;
                _Message.BodyEncoding    = System.Text.Encoding.UTF8;
                _Message.IsBodyHtml      = true;
                _Message.Priority        = MailPriority.High;
                _Message.From            = new MailAddress(SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.From));
                To.ForEach(m => { _Message.Bcc.Add(m); });
                Attachments.ForEach(attachment => { _Message.Attachments.Add(attachment); });
                SmtpClient Client = GetSmtpClient(EmailFunction);

                Client.Send(_Message);
                ErrorMessage = string.Empty;
                return(true);
            }
            catch (Exception exc)
            {
                ErrorMessage = exc.Message;
                return(false);
            }
        }
        public void GetErrors(Email entity)
        {
            base.GetErrors(entity);

            if (!EmailFunctions.IsValid(entity.Address))
            {
                entity.Errors.Add("Not a valid email address.");
            }
        }
예제 #12
0
 private static SmtpClient GetSmtpClient(EmailFunctions EmailFunction)
 {
     return(new SmtpClient()
     {
         Host = SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.Host),
         Port = int.Parse(SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.Port)),
         EnableSsl = bool.Parse(SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.EnableSSL)),
         UseDefaultCredentials = false,
         Credentials = new NetworkCredential(SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.Username), SystemConfigurations.GetSMTPProperty(EmailFunction, SMTPProperties.Password)),
     });
 }
        public ActionResult SaveWerkbriefConfirmed(bool value)
        {
            var userId = User.Identity.GetUserId();
            var model  = GetWerkbriefTempModel(userId);

            var werkbrief = new Werkbrief();

            werkbrief.CompanyID = model.CompanyID;
            werkbrief.Period    = model.Period;
            werkbrief.UserId    = userId;

            werkbrief.DateCreated   = DateTime.Now;
            werkbrief.DateModified  = DateTime.Now;
            werkbrief.UserName      = User.Identity.Name;
            werkbrief.WerkbriefHTML = RenderViewToString("index", model);
            var totalHours = Decimal.Zero;

            var werkbriefHours = new List <WerkbriefHours>();

            foreach (var hours in model.WerkbriefHoursTemps)
            {
                totalHours += GetTotalHours(hours);
                werkbriefHours.Add(new WerkbriefHours()
                {
                    ProductID  = hours.ProductID,
                    ProjectID  = hours.ProjectID,
                    TotalHours = hours.TotalHours,
                    Week       = hours.Week,
                    Monday     = hours.Monday,
                    Tuesday    = hours.Tuesday,
                    Wednesday  = hours.Wednesday,
                    Thursday   = hours.Thursday,
                    Friday     = hours.Friday,
                    Saturday   = hours.Saturday,
                    Sunday     = hours.Sunday
                });
            }
            werkbrief.TotalHours = totalHours.ToString();
            db.Werkbriefs.Add(werkbrief);

            werkbriefHours.ForEach(w => db.WerkbriefHours.Add(w));
            db.SaveChanges();

            byte[] bytes          = GeneratePDF(werkbrief.WerkbriefHTML.Replace("\r\n", string.Empty));
            string strEmailResult = "<img src=\"" + ConfigurationManager.AppSettings["SocialLogoPath"] + "\">";

            EmailFunctions.SendEmail(ConfigurationManager.AppSettings["AdminEmail"], "New werkbrief from user " + User.Identity.Name, strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

            return(Json(werkbrief.WerkbriefHTML, JsonRequestBehavior.AllowGet));
        }
        public void HandleSingleBlast_RefBlastIsNull_LogError()
        {
            // Arrange
            var emailFn      = new EmailFunctions();
            var blastEngine  = new ECNBlastEngine();
            var blastUpdated = false;

            ShimApplicationLog.LogCriticalErrorExceptionStringInt32StringInt32Int32 =
                (ex, sourceMethod, applicationID, note, gdCharityID, ecnCustomerID) =>
            {
                return(1);
            };
            ShimDataFunctions.GetDataTableString = (cmd) =>
            {
                var table = new DataTable();
                table.Columns.Add("EmailID", typeof(int));
                table.Columns.Add("BlastID", typeof(int));
                table.Columns.Add("LayoutPlanID", typeof(int));
                table.Columns.Add("BlastSingleID", typeof(int));
                table.Columns.Add("GroupID", typeof(int));
                table.Columns.Add("refBlastID", typeof(int));
                var row = table.NewRow();
                row[0] = 1;
                row[1] = 2;
                row[2] = 3;
                row[3] = 4;
                row[4] = 5;
                row[5] = DBNull.Value;
                table.Rows.Add(row);
                return(table);
            };
            ShimECNBlastEngine.AllInstances.SetBlastSingleToErrorInt32 = (eng, id) => { };
            ShimDataFunctions.ExecuteString = (str) =>
            {
                blastUpdated = true;
                return(1);
            };
            ShimDataFunctions.ExecuteScalarString = (str) =>
            {
                return("2");
            };

            // Act
            typeof(ECNBlastEngine).CallMethod(METHOD_HandleSingleBlast,
                                              new object[] { emailFn }, blastEngine);

            // Assert
            Assert.IsTrue(blastUpdated);
        }
        public void CreateEmailList_XmlDocumentHaveEmailAddressNode_EmailListContainsTheseNodes(bool testBlast)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            _testBlast = testBlast;
            ShimXmlNode.AllInstances.SelectSingleNodeString = (x, y) => DummyXmlNode();

            //Act
            var emailList = EmailFunctions.CreateEmailList(_blast, _bounceDomain, _testBlast);

            //Assert
            var dummyTableRowCount     = GetDataTableDummyTable().Rows.Count;
            var emailListRowCount      = emailList.Rows.Count;
            var emailListContainsNodes = emailListRowCount > dummyTableRowCount ? true : false;

            emailListContainsNodes.ShouldBeTrue();
        }
        public void CreateEmailList_CommunicatorTableContainsSeedsForCustomer_EmailListContainsTheseSeeds(bool testBlast)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            _testBlast = testBlast;
            ShimDataFunctions.GetDataTableStringSqlCommand = (x, y) => GetDataTableDummyTable();

            //Act
            var emailList = EmailFunctions.CreateEmailList(_blast, _bounceDomain, _testBlast);

            //Assert
            var dummyTableRowCount     = GetDataTableDummyTable().Rows.Count;
            var emailListRowCount      = emailList.Rows.Count;
            var emailListContainsSeeds = emailListRowCount > dummyTableRowCount;

            emailListContainsSeeds.ShouldBeTrue();
        }
        public void CreateEmailList_WhenTestBlastIsSet_GetByBlastIDIsCalledOrNot(bool testBlast, bool isCalledGetByBlastID)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            _blast.BlastType = "Personalization";
            _testBlast       = testBlast;
            var _isCalledGetByBlastID = false;

            ShimCampaignItem.GetByBlastID_NoAccessCheckInt32Boolean = (x, y) =>
            {
                _isCalledGetByBlastID = true;
                return(new CampaignItem());
            };

            //Act
            EmailFunctions.CreateEmailList(_blast, _bounceDomain, _testBlast);

            //Assert
            _isCalledGetByBlastID.ShouldBe(isCalledGetByBlastID);
        }
        public void GetBlastRemainingCount_WhenCalled_ReturnsRemainingBlastCount(bool testBlast)
        {
            // Arrage
            Initialize();
            CreateShims("CreateEmailList");
            CreateShims("GetBlastRemainingCount");
            _testBlast = testBlast;
            var _remainingCount = "1057";

            ShimDbDataAdapter.AllInstances.FillDataSetString = (x, dataset, z) =>
            {
                dataset.Tables.Add(FillDataSetDummyTable("dummyColumn", _remainingCount));
                return(0);
            };
            ShimDataFunctions.GetDataTableString = (x) => new DataTable();

            //Act
            var remainingCount = EmailFunctions.GetBlastRemainingCount(_filterID, _smartSegmentID, _customerID, _groupID, _bounceDomain, _blastID, _testBlast).ToString();

            //Assert
            remainingCount.ShouldBe(_remainingCount);
        }
예제 #19
0
        public ActionResult RoleAddToUser(UserRolesModels model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.SelectedUsers, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();

                    var um       = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new AppDbContext()));
                    var idResult = um.AddToRole(user.Id, model.SelectedRoles);

                    ViewBag.Users = context.Users.OrderBy(u => u.UserName).ToList().Select(uu => new SelectListItem {
                        Value = uu.Email, Text = uu.FirstName + " " + uu.LastName
                    }).ToList();

                    ViewBag.RolesForThisUser = um.GetRoles(user.Id);

                    ViewBag.SelectedUser = String.Format("{0} {1}", user.FirstName, user.LastName);
                    // prepopulat roles for the view dropdown
                    var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem {
                        Value = rr.Name.ToString(), Text = rr.Name
                    }).ToList();
                    ViewBag.Roles = list;

                    TempData["ResultSuccess"] = String.Format("Role added successfully to user {0} {1}!", user.FirstName, user.LastName);

                    return(View("ManageUserRoles"));
                }
                catch (Exception ex)
                {
                    EmailFunctions.SendExceptionToAdmin(ex);
                    TempData["ResultError"] = "Error in adding role!";
                    return(RedirectToAction("ManageUserRoles"));
                }
            }

            return(RedirectToAction("ManageUserRoles"));
        }
예제 #20
0
 public JsonResult mailGonder(string[] kullaniciList)
 {
     try
     {
         string icerik  = Request.Unvalidated["icerik"];
         string konu    = Request["konu"];
         int    groupId = EmailFunctions.getGroupId();
         foreach (string str in kullaniciList)
         {
             int          userId = Convert.ToInt32(str);
             kullanicilar usr    = db.kullanicilar.Where(e => e.id == userId).FirstOrDefault();
             if (usr != null && usr.mail_permission == Permissions.granted)
             {
                 bool mailSonuc = EmailFunctions.sendEmailGmail(icerik, konu, usr.email, MailHedefTur.kullanici, usr.id, EmailFunctions.mailAdresi, 0, "", "", "", "", groupId);
             }
         }
         return(Json(JsonSonuc.sonucUret(true, "Mail Gönderildi."), JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(JsonSonuc.sonucUret(false, "İşlem sırasında bir hata oluştu. Lütfen tekrar deneyiniz."), JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult DownloadWerkbrief(int?idWerkbrief)
        {
            try
            {
                var userId = User.Identity.GetUserId();

                var firstOrDefault = db.Werkbriefs.OrderByDescending(o => o.DateCreated).FirstOrDefault(u => u.UserId == userId);
                if (firstOrDefault != null)
                {
                    var strResult = firstOrDefault.WerkbriefHTML;

                    byte[] bytes = GeneratePDF(strResult);

                    Response.Buffer = false;
                    Response.Clear();
                    Response.ClearContent();
                    Response.ClearHeaders();
                    //Set the appropriate ContentType.
                    Response.ContentType = "Application/pdf";
                    //Write the file content directly to the HTTP content output stream.
                    Response.BinaryWrite(bytes);
                    Response.Flush();
                    Response.End();
                    return(File(bytes, "application/pdf", DateTime.Now.ToString(CultureInfo.InvariantCulture)));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            catch (Exception ex)
            {
                EmailFunctions.SendExceptionToAdmin(ex);
                return(Json(false));
            }
        }
 private void Initialize()
 {
     _emailFunctionsType   = typeof(EmailFunctions);
     _emailFunctionsObject = CreateInstance(_emailFunctionsType);
     _blast = CreateInstanceWithValues(typeof(Blast), new
     {
         BlastType = "Champion",
         TestBlast = "N"
     });
     _virtualPath    = string.Empty;
     _hostName       = string.Empty;
     _bounceDomain   = string.Empty;
     _emailTable     = new DataTable();
     _resend         = false;
     _testBlast      = false;
     _forwardEmail   = string.Empty;
     _doSocialMedia  = false;
     _filterID       = 1;
     _smartSegmentID = 1;
     _customerID     = 1;
     _groupID        = 1;
     _blastID        = "1";
     CreateShims();
 }
예제 #23
0
        public string yeniKullanici(string password, string password_control, string mail_permission, string sms_permission, HttpRequestBase Request)
        {
            try
            {
                vrlfgysdbEntities db = new vrlfgysdbEntities();

                int mailPermission = Permissions.granted;
                if (mail_permission == null)
                {
                    mailPermission = Permissions.denied;
                }
                int smsPermission = Permissions.granted;
                if (sms_permission == null)
                {
                    smsPermission = Permissions.denied;
                }

                int vid = 1;
                if (db.kullanicilar.Count() != 0)
                {
                    vid = db.kullanicilar.Max(e => e.vid) + 1;
                }
                int sort = 1;
                if (db.kullanicilar.Count() != 0)
                {
                    sort = db.kullanicilar.Max(e => e.sort) + 1;
                }

                kullanicilar user = new kullanicilar();
                foreach (var property in user.GetType().GetProperties())
                {
                    try
                    {
                        var response = Request[property.Name];
                        if (response == null && property.PropertyType != typeof(int))
                        {
                            if (response == null)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            PropertyInfo propertyS = user.GetType().GetProperty(property.Name);
                            if (property.PropertyType == typeof(decimal))
                            {
                                propertyS.SetValue(user, Convert.ChangeType(Decimal.Parse(response.Replace('.', ',')), property.PropertyType), null);
                            }
                            else if (property.PropertyType == typeof(int))
                            {
                                if (response == null)
                                {
                                    propertyS.SetValue(user, Convert.ChangeType(0, property.PropertyType), null);
                                }
                                else
                                {
                                    propertyS.SetValue(user, Convert.ChangeType(Decimal.Parse(response.Replace('.', ',')), property.PropertyType), null);
                                }
                            }
                            else
                            {
                                propertyS.SetValue(user, Convert.ChangeType(response, property.PropertyType), null);
                            }
                        }
                    }
                    catch (Exception)
                    { }
                }

                string       strImageName = StringFormatter.OnlyEnglishChar(user.ad + " " + user.soyad);
                string       createdUrl   = strImageName;
                string       tempUrl      = createdUrl;
                bool         bulundu      = false;
                int          i            = 0;
                kullanicilar pg           = new kullanicilar();
                do
                {
                    pg = db.kullanicilar.Where(e => e.url.Equals(tempUrl)).FirstOrDefault();
                    if (pg != null)
                    {
                        tempUrl = tempUrl + i.ToString();
                    }
                    else
                    {
                        createdUrl = tempUrl;
                        bulundu    = true;
                    }
                    i++;
                } while (!bulundu);
                user.url = createdUrl;

                user.mail_permission      = mailPermission;
                user.sms_permission       = smsPermission;
                user.password             = HashWithSha.ComputeHash(password, "SHA512", Encoding.ASCII.GetBytes(password));
                user.flag                 = durumlar.emailOnayBekliyor;
                user.date                 = DateTime.Now;
                user.vid                  = vid;
                user.reset_guidexpiredate = DateTime.Now.AddDays(5);
                user.ekleyen              = GetCurrentUser.GetUser().id;
                //user.kullanici_turu = KullaniciTurleri.super_admin;
                user.sort      = sort;
                user.mail_host = "";
                user.mail_port = "";
                user.mail_ssl  = "";
                user.mail_psw  = "";

                Guid gd = new Guid();
                gd = Guid.NewGuid();

                user.reset_guid = gd.ToString();

                LoggedUserModel lgm = GetCurrentUser.GetUser();
                int             incelenecekKullaniciTurleri = lgm.kullanici_turu;
                if (lgm.kullanici_turu == KullaniciTurleri.super_admin)
                {
                    incelenecekKullaniciTurleri = 0;
                }
                if (!(user.kullanici_turu > incelenecekKullaniciTurleri))
                {
                    return("");
                }

                bool kullaniciKontrol = firmaKullaniciKontrol(user.firma_id, user.id).Result;
                if (!kullaniciKontrol)
                {
                    return("kullanici_sayisi_hatasi");
                }

                db.kullanicilar.Add(user);
                db.SaveChanges();

                string icerik = "<div>Üyeliğiniz Oluşturulmuştur.</div>"
                                + "<div>Üyeliğiniz başarı ile oluşturulmuştur. Aşağıdaki onay linkine tıklayarak üyeliğinizi onaylayailrsiniz. Bizi tercih ettiğiniz için teşekkür ederiz.</div> <div><a href=\"" + config.url + "EmailOnay/" + user.reset_guid + "\">E-mail adresinizi onaylamak için tıklayınız</a></div>";
                string baslik = config.projeİsmi + " Üyeliği E-mail Onay";

                EmailFunctions.sendEmailGmail(icerik, baslik, user.email, MailHedefTur.kullanici, user.id, EmailFunctions.mailAdresi, 0, "", "", "", "", -3);

                return(user.url);
            }
            catch (Exception e)
            {
                if (e.InnerException != null && e.InnerException.ToString().Contains("email_unique"))
                {
                    return("email_unique");
                }
                else if (e.InnerException != null && e.InnerException.ToString().Contains("username_unique"))
                {
                    return("username_unique");
                }
                else
                {
                    return("");
                }
            }
        }
예제 #24
0
 public static bool SendEmail(EmailFunctions EmailFunction, List <string> To, string EmailSubject, string EmailContent, out string ErrorMessage, List <Attachment> Attachments)
 {
     return(InternalSendMail(EmailFunction, To, EmailSubject, EmailContent, Attachments, out ErrorMessage));
 }
        public void BeValid(string email)
        {
            var valid = EmailFunctions.IsValid(email);

            Assert.True(valid);
        }
        public void BeInvalid(string email)
        {
            var notValid = EmailFunctions.IsValid(email);

            Assert.False(notValid);
        }
예제 #27
0
        public static JsonSonuc yeniBildirim(int kullanici_id, int bildirim_turu, int ilgili_id, string ilgili_url, string mesaj)
        {
            try
            {
                vrlfgysdbEntities db = new vrlfgysdbEntities();

                int vid = 1;
                if (db.sistem_bildirimleri.Count() != 0)
                {
                    vid = db.sistem_bildirimleri.Max(e => e.vid) + 1;
                }
                int sort = 1;
                if (db.sistem_bildirimleri.Count() != 0)
                {
                    sort = db.sistem_bildirimleri.Max(e => e.sort) + 1;
                }

                sistem_bildirimleri bldrm = new sistem_bildirimleri();

                bldrm.kullanici_id  = kullanici_id;
                bldrm.flag          = durumlar.aktif;
                bldrm.date          = DateTime.Now;
                bldrm.vid           = vid;
                bldrm.ekleyen       = GetCurrentUser.GetUser().id;
                bldrm.sort          = sort;
                bldrm.okundu        = bildirimOkunmaDurum.beklemede;
                bldrm.bildirim_turu = bildirim_turu;
                bldrm.ilgili_id     = ilgili_id;
                bldrm.ilgili_url    = "";
                bldrm.mesaj         = mesaj;
                if (bildirim_turu == BildirimTurleri.gorev)
                {
                    bldrm.ilgili_url = "Gorev/" + ilgili_url;
                }
                else if (bildirim_turu == BildirimTurleri.proje)
                {
                    bldrm.ilgili_url = "Proje/" + ilgili_url;
                }
                else if (bildirim_turu == BildirimTurleri.surec)
                {
                    bldrm.ilgili_url = "Surec/" + ilgili_url;
                }
                else if (bildirim_turu == BildirimTurleri.musteri)
                {
                    bldrm.ilgili_url = "Musteri/" + ilgili_url;
                }
                else if (bildirim_turu == BildirimTurleri.mesaj)
                {
                    bldrm.ilgili_url = "Mesaj/" + ilgili_url;
                }
                else
                {
                    bldrm.ilgili_url = ilgili_url;
                }

                db.sistem_bildirimleri.Add(bldrm);
                db.SaveChanges();

                kullanicilar dbUsr = db.kullanicilar.Where(e => e.id == bldrm.kullanici_id).FirstOrDefault();
                if (dbUsr != null)
                {
                    if (dbUsr.mail_permission == Permissions.granted)
                    {
                        string emailMesaj = bldrm.mesaj + " </br>İlgili bağlantı için <a href='" + Tools.config.url + bldrm.ilgili_url + "'>tıklayınız.</a>";
                        EmailFunctions.sendEmailGmail(emailMesaj, config.projeİsmi + " - Bildirim", dbUsr.email, MailHedefTur.kullanici, bldrm.kullanici_id, "", 0, "", "", "", "", 0);
                    }
                    if (dbUsr.sms_permission == Permissions.granted)
                    {
                        List <string> numaraList = new List <string>();
                        numaraList.Add(dbUsr.tel);
                        SendSms         sms = new SendSms();
                        sistem_ayarlari sa  = db.sistem_ayarlari.Where(e => e.flag == durumlar.aktif).FirstOrDefault();

                        LoggedUserModel lgm        = GetCurrentUser.GetUser();
                        string          musteri_no = "";
                        if (lgm.fm != null)
                        {
                            musteri_no = lgm.fm.musteri_no;
                        }
                        bool sonuc = sms.SendSMS(numaraList.ToArray(), bldrm.mesaj, sa.sms_header, musteri_no);
                        if (sonuc == false)
                        {
                            return(JsonSonuc.sonucUret(false, "İşlem sırasında bir hata oluştu. Lütfen tekrar deneyiniz."));
                        }
                    }
                }

                return(JsonSonuc.sonucUret(true, bldrm.ilgili_url));
            }
            catch (Exception e)
            {
                return(JsonSonuc.sonucUret(false, "İşlem sırasında bir hata oluştu. Lütfen tekrar deneyiniz."));
            }
        }
        public void HandleSingleBlast_RefBlastNotNullOpensCountIsZero_ReachEnd()
        {
            // Arrange
            var emailFn         = new EmailFunctions();
            var blastEngine     = new ECNBlastEngine();
            var exceptionLogged = false;
            var blastId         = 1;
            var blastGroupId    = 1;

            appSettings.Add("LogStatistics", bool.TrueString);
            appSettings.Add("Communicator_VirtualPath", "TestString");
            var blast = new BlastRegular();

            blast.BlastID    = blastId;
            blast.GroupID    = blastGroupId;
            blast.BlastType  = BlastType.HTML.ToString();
            blast.CustomerID = 1;
            var reachedEnd = false;

            ShimApplicationLog.LogCriticalErrorExceptionStringInt32StringInt32Int32 =
                (ex, sourceMethod, applicationID, note, gdCharityID, ecnCustomerID) =>
            {
                return(1);
            };
            CommonFakes::ShimFileFunctions.LogActivityBooleanStringString =
                (output, activity, suffix) => { };
            ShimDataFunctions.GetDataTableString = (cmd) =>
            {
                var table = new DataTable();
                table.Columns.Add("EmailID", typeof(int));
                table.Columns.Add("BlastID", typeof(int));
                table.Columns.Add("LayoutPlanID", typeof(int));
                table.Columns.Add("BlastSingleID", typeof(int));
                table.Columns.Add("GroupID", typeof(int));
                table.Columns.Add("refBlastID", typeof(int));
                var row = table.NewRow();
                row[0] = 1;
                row[1] = 2;
                row[2] = 3;
                row[3] = 4;
                row[4] = 5;
                row[5] = 6;
                table.Rows.Add(row);
                return(table);
            };
            ShimECNBlastEngine.AllInstances.SetBlastSingleToErrorInt32 = (eng, id) => { };
            ShimDataFunctions.ExecuteString = (str) =>
            {
                return(1);
            };
            ShimDataFunctions.ExecuteScalarString = (str) =>
            {
                if (str.Contains("SELECT COUNT(EmailID) AS 'OpensCount'"))
                {
                    if (str.Contains("AND ActionTypeCode = 'open'"))
                    {
                        reachedEnd = true;
                    }
                    return("0");
                }
                return("1");
            };
            ShimDataFunctions.ExecuteScalarStringString = (str, cmd) =>
            {
                return("1");
            };
            ShimBlast.GetByBlastID_NoAccessCheckInt32Boolean = (id, child) =>
            {
                return(blast);
            };
            ShimChannelCheck.AllInstances.getHostName        = (ch) => "TestHostName";
            ShimChannelCheck.AllInstances.getBounceDomain    = (ch) => "TestDomain";
            ShimChannelCheck.ConstructorInt32                = (chn, custId) => { };
            ShimBlast.GetMasterRefBlastInt32Int32UserBoolean = (id, emailId, user, child) =>
            {
                return(blast);
            };
            ShimEmailFunctions.AllInstances.SendBlastSingleBlastInt32Int32StringStringString =
                (fn, obj, email, group, setting, hostname, domain) => { };

            // Act
            typeof(ECNBlastEngine).CallMethod(METHOD_HandleSingleBlast,
                                              new object[] { emailFn }, blastEngine);

            // Assert
            Assert.IsFalse(exceptionLogged);
            Assert.IsTrue(reachedEnd);
        }
예제 #29
0
 public static bool SendEmail(EmailFunctions EmailFunction, string To, string EmailSubject, string EmailContent, out string ErrorMessage)
 {
     return(InternalSendMail(EmailFunction, new List <string> {
         To
     }, EmailSubject, EmailContent, new List <Attachment>(), out ErrorMessage));
 }
예제 #30
0
 public static string GetSMTPProperty(EmailFunctions Function, SMTPProperties Property)
 {
     return(ConfigurationManager.AppSettings.Get(string.Format("SMTP_{0}.{1}", Function.ToString(), Property.ToString())));
 }