Example #1
0
        public ActionResult Forgot_password(FormCollection collection)
        {
            OrderModels   orderModels = new OrderModels();
            WebInfoModels web_infor   = new WebInfoModels();
            UserModels    sv          = new UserModels();
            C_User        it          = new C_User();
            var           login_view  = new Login_view();

            this.TryUpdateModel(login_view);

            login_view.Parent_action     = HttpContext.Request.RequestContext.RouteData.Values["action"].ToString();
            login_view.Parent_controller = HttpContext.Request.RequestContext.RouteData.Values["controller"].ToString();
            login_view.Return_url        = Url.Action("login", "dashboard", new { area = "admin" });

            ////check user_name or email
            it = sv.GetUserbyUserName(login_view.User_name);
            if (it != null)
            {
                login_view.Message = App_GlobalResources.Lang.strMessageSendNewPassword;
                string code = GetCodeUniqueKey(8); ////orderModels.getOrderCodeUnique();
                string link = Url.Action("change_password", "dashboard", new { cfcode = MD5Extend.EncodePassword(code + " " + login_view.User_name), area = "admin" });
                //// send email to client
                var strBody_email_client = GeneralModels.GetContent(CommonGlobal.EmailConfirmForgotPassword, Lang).ToString(); ////get from email template
                strBody_email_client = strBody_email_client.Replace("{domain}", Util.GetConfigValue("Domain", Request.UserHostName).ToString());
                strBody_email_client = strBody_email_client.Replace("{store_name}", GeneralModels.GetContent(CommonGlobal.PageName, Lang).ToString());
                strBody_email_client = strBody_email_client.Replace("{email}", web_infor.GetContent(CommonGlobal.Email).ToString());
                strBody_email_client = strBody_email_client.Replace("{email_client}", login_view.User_name);
                strBody_email_client = strBody_email_client.Replace("{code}", code);
                strBody_email_client = strBody_email_client.Replace("{link}", Util.GetConfigValue("Domain", Request.UserHostName).ToString() + link);
                ////send email to email system
                if (login_view.User_name == "Admin")
                {
                    CommonGlobal.SendMail(web_infor.GetContent(CommonGlobal.Email), App_GlobalResources.Lang.strSubjectConfirmForgotPassword + "- " + Util.GetConfigValue("Domain", Request.UserHostName).ToString(), strBody_email_client);
                }
                else
                {
                    CommonGlobal.SendMail(login_view.User_name, App_GlobalResources.Lang.strSubjectConfirmForgotPassword + "- " + Util.GetConfigValue("Domain", Request.UserHostName).ToString(), strBody_email_client);
                }
            }
            else
            {
                login_view.Message = App_GlobalResources.Lang.strMessageForgotPassword;
            }

            return(this.PartialView("../page/forgot_password", login_view));
        }
        public ActionResult List_email(FormCollection collection, int?email_id, string type, string act, string ctrl, string type_act, int?page, int?page_size)
        {
            EmailModels         emailModel          = new EmailModels();
            EmailTemplateModels emailTemplateModels = new EmailTemplateModels();
            var list_email = new Web.Areas.Admin.ViewModels.List_email_view();

            this.TryUpdateModel(list_email);

            List <SelectListItem> list_select_tempate = new List <SelectListItem>();

            emailTemplateModels.List_email_template(0, ref list_select_tempate);
            StringBuilder sb = new StringBuilder();

            int total_record = 0;

            if (string.IsNullOrEmpty(type))
            {
                type = Request.QueryString["type"] != null ? Request.QueryString["type"].ToString() : CommonGlobal.RoleAdmin;
            }

            if (string.IsNullOrEmpty(act))
            {
                act = Request.QueryString["act"] != null ? Request.QueryString["act"].ToString() : "list_email";
            }

            if (string.IsNullOrEmpty(ctrl))
            {
                ctrl = Request.QueryString["ctrl"] != null ? Request.QueryString["ctrl"].ToString() : "dminEmail";
            }

            if (page == null || page == 0)
            {
                page = Request.QueryString["page"] != null?Convert.ToInt32(Request.QueryString["page"].ToString()) : 1;
            }

            if (page_size == null)
            {
                page_size = int.Parse(Util.GetConfigValue("NumberPageSizeAdmin", "30"));
            }

            string email_address = collection["email_address"].ToString();

            if (email_id > 0 && type_act != null && type_act == CommonGlobal.Delete)
            {
                if (UserModels.CheckPermission(this.Session["mem"] != null ? this.Session["mem"].ToString() : string.Empty, act, ctrl, type_act, type))
                {
                    bool rt = emailModel.Delete((int)email_id);
                    if (rt)
                    {
                        list_email.Message = "Bạn đã xóa email: " + email_address;
                    }
                    else
                    {
                        list_email.Message = "Xóa không thành công";
                    }
                }
            }

            int totalRecord = 0;

            if (!string.IsNullOrEmpty(collection["total_record_on_page"]))
            {
                totalRecord = int.Parse(collection["total_record_on_page"]);
            }

            string subject       = collection["emailSubject"];
            string body          = collection["emailBody"];
            bool   flag_SendMail = false;

            if (list_email.IsSendAll)
            {
                list_email.IsSendAll     = true;
                list_email.IsSendAllText = "checked='checked'";
                List <C_Email> lstEmailSend = emailModel.AllEmail();
                if (lstEmailSend.Any())
                {
                    foreach (C_Email objEmail in lstEmailSend)
                    {
                        CommonGlobal.SendMail(objEmail.email, subject, body);
                    }

                    flag_SendMail = true;
                }
            }
            else
            {
                list_email.IsSendAll     = false;
                list_email.IsSendAllText = string.Empty;
                for (int i = 1; i <= totalRecord; ++i)
                {
                    string email  = string.Empty;
                    string chkBox = collection["chk_" + i];
                    if (!string.IsNullOrEmpty(chkBox))
                    {
                        if (chkBox.Contains("true"))
                        {
                            email = collection["email_" + i];
                            CommonGlobal.SendMail(email, subject, body);
                            flag_SendMail = true;
                        }
                    }
                }
            }

            if (flag_SendMail)
            {
                ////Message
                list_email.Message = "Đã gửi mail thành công.";
            }

            //////tab
            sb.Append("<li class=\"active\"><a href=\"#\"><span>Email Marketing</span></a></li>");
            list_email.Html_link_tab = sb.ToString();

            //////list post
            PagedList <C_Email> lstEmail = emailModel.GetListEmail((int)page, (int)page_size, out total_record);

            list_email.ListEmail            = lstEmail;
            list_email.Total_record         = total_record;
            list_email.Total_record_on_page = lstEmail.Count();
            list_email.Type_act             = type_act;
            list_email.ListTemplate         = list_select_tempate;
            //////action
            list_email.Act          = act;
            list_email.Ctrl         = ctrl;
            list_email.SubjectEmail = subject;
            list_email.BodyEmail    = body;

            list_email.Parent_action     = HttpContext.Request.RequestContext.RouteData.Values["action"].ToString();
            list_email.Parent_controller = HttpContext.Request.RequestContext.RouteData.Values["controller"].ToString();
            //////end action

            return(this.PartialView("../control/list_email", list_email));
        }