示例#1
0
    protected void btnExportCustomer_Click(object sender, EventArgs e)
    {
        try
        {
            Response.ClearContent();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", "Customer_" + DateTime.Now.ToShortDateString() + ".xls"));
            Response.ContentType = "application/ms-excel";

            Class_Customer _customer = new Class_Customer();
            var            data      = _customer.GetAll_IsSbuscribe();
            DataTable      dt        = new DataTable();
            dt.Columns.Add("IDCustomer", typeof(Int32));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Email", typeof(string));
            dt.Columns.Add("Phone Number", typeof(string));
            dt.Columns.Add("Date Registered", typeof(DateTime));
            dt.Columns.Add("Active", typeof(bool));
            foreach (var item in data)
            {
                dt.Rows.Add(item.IDCustomer, item.FirstName + " " + item.LastName, item.Email, item.PhoneNumber, item.DateInsert, item.Active);
            }
            string str = string.Empty;

            foreach (DataColumn dtcol in dt.Columns)
            {
                Response.Write(dtcol.ColumnName);
                Response.Write("\t");
            }
            Response.Write("\n");
            foreach (DataRow dr in dt.Rows)
            {
                str = "";
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    Response.Write(Convert.ToString(dr[i]));
                    Response.Write("\t");
                }
                Response.Write("\n");
            }
            Response.End();
        }
        catch (Exception)
        {
            throw;
        }
    }
示例#2
0
    public ReturnData AJAX_Insert(string email)
    {
        try
        {
            Class_Customer         _customer = new Class_Customer();
            DataClassesDataContext db        = new DataClassesDataContext();
            Class_Configuration    _config   = new Class_Configuration();
            var customer   = _customer.Dynamic_GetData_ByEmail(email);
            var subscriber = Dynamic_GetData_ByEmail(email);
            if (customer != null)
            {
                if (customer.IsSubscribe == true)
                {
                    return(ReturnData.MessageFailed("Your email has been registered and signed up for newsletter", null));
                }
                else
                {
                    var UpdateCustomer = db.TBCustomers.Where(x => x.Email.ToLower() == email.ToLower() && !x.Deflag && x.Active).FirstOrDefault();
                    UpdateCustomer.IsSubscribe = true;
                    db.SubmitChanges();
                    return(ReturnData.MessageSuccess("Your email has been registered as member, You're succesfully signed up for newsletter", null));
                }
            }
            else if (subscriber != null)
            {
                return(ReturnData.MessageFailed("Your email has successfully subscribed", null));
            }
            else
            {
                TBNewsletter _newNewsletter = new TBNewsletter
                {
                    Email          = email,
                    Deflag         = false,
                    DateInsert     = DateTime.Now,
                    DateLastUpdate = DateTime.Now
                };
                db.TBNewsletters.InsertOnSubmit(_newNewsletter);
                db.SubmitChanges();

                var emailLogo = _config.Dynamic_Get_EmailLogo();

                using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/assets/email-template/template-email-newsletter.html")))
                {
                    string body = "";
                    body = reader.ReadToEnd();
                    body = body.Replace("{name}", email);
                    body = body.Replace("{voucher}", "newcompaniion");
                    body = body.Replace("{title}", System.Configuration.ConfigurationManager.AppSettings["Title"]);
                    body = body.Replace("{email_logo}", System.Configuration.ConfigurationManager.AppSettings["url"] + "/assets/images/email_logo/" + emailLogo);
                    body = body.Replace("{shop_url}", System.Configuration.ConfigurationManager.AppSettings["url"]);
                    OurClass.SendEmail(email, System.Web.Configuration.WebConfigurationManager.AppSettings["Title"] + " - Subscriber", body, "");
                }

                return(ReturnData.MessageSuccess("Thank You For Subcribed on our website, your email address has been registered", null));
            }
        }
        catch (Exception ex)
        {
            Class_Log_Error log = new Class_Log_Error();
            log.Insert(ex.Message, ex.StackTrace);

            return(ReturnData.MessageFailed(ex.Message, null));
        }
    }
示例#3
0
    public ReturnData AJAX_SubmitVoucher(string code, string token, int amount)
    {
        try
        {
            DataClassesDataContext db    = new DataClassesDataContext();
            Class_Customer         _cust = new Class_Customer();

            TBVoucher _voucher = db.TBVouchers.Where(x => x.Active && !x.Deflag && x.Code == code).FirstOrDefault();

            if (_voucher == null)
            {
                return(ReturnData.MessageFailed("This voucher is invalid", null));
            }
            if (_voucher.IDCustomer != null)
            {
                if (_voucher.IDCustomer != null && (token == null || token == ""))
                {
                    return(ReturnData.MessageFailed("Please login to use this voucher", null));
                }
                else if (token != "")
                {
                    var _temp    = _cust.DecryptToken(token) as IDictionary <string, object>;
                    var Customer = _cust.DYNAMIC_GetData_ByEmailAndPassword(_temp["email"].ToString(), _temp["password"].ToString());
                    if (_voucher.IDCustomer != null && _voucher.IDCustomer.Value != Customer.IDCustomer)
                    {
                        return(ReturnData.MessageFailed("You cannot use this voucher", null));
                    }
                }
            }

            if (_voucher.TotalAvailable != 0 && _voucher.TotalAvailable == _voucher.Used)
            {
                return(ReturnData.MessageFailed("This voucher only valid for first " + _voucher.TotalAvailable.ToString() + " use", null));
            }
            if (amount < Class_Currency.GetPriceConversionCurrency(_voucher.MinimumAmount))
            {
                return(ReturnData.MessageFailed("You have not reached the minimum amount required to use this voucher", null));
            }
            if (_voucher.EndDate < DateTime.Now)
            {
                return(ReturnData.MessageFailed("This voucher has expired", null));
            }
            if (_voucher.StartDate > DateTime.Now)
            {
                return(ReturnData.MessageFailed("This voucher is not yet valid", null));
            }

            _voucher.DateLastUpdate = DateTime.Now;
            db.SubmitChanges();
            dynamic result       = Dynamic_GetDetail(_voucher.IDVoucher);
            string  voucherToken = OurClass.EncryptToken((result));
            var     cookie       = HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()];
            if (cookie == null)
            {
                HttpContext.Current.Response.Cookies.Add(new HttpCookie(System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString(), voucherToken));
            }
            else
            {
                HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()].Value = voucherToken;
            }
            HttpContext.Current.Response.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieVoucher"].ToString()].Expires = DateTime.Now.AddMinutes(120);
            return(ReturnData.MessageSuccess("OK", result));
        }
        catch (Exception ex)
        {
            Class_Log_Error log = new Class_Log_Error();
            log.Insert(ex.Message, ex.StackTrace);

            return(ReturnData.MessageFailed(ex.Message, null));
        }
    }
示例#4
0
    protected void btnImport_Click(object sender, EventArgs e)
    {
        if (fuFile.HasFile)
        {
            lblSuccess.Text = "";
            lblError.Text   = "";
            try
            {
                DataClassesDataContext db = new DataClassesDataContext();

                Class_Employee emp = new Class_Employee();
                //if (emp.DecryptToken(HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieAdmin"].ToString()].Value) == null || HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieAdmin"].ToString()] == null)
                {
                    fuFile.SaveAs(Server.MapPath("~/assets/import/customer/" + fuFile.FileName));
                    StreamReader sr = new StreamReader(Server.MapPath("~/assets/import/customer/" + fuFile.FileName));
                    try
                    {
                        CsvReader csvread = new CsvReader(sr);
                        csvread.Configuration.Delimiter       = ";";
                        csvread.Configuration.HasHeaderRecord = false;
                        char[] delimeter = { ',' };

                        List <CSV_Customer> record = csvread.GetRecords <CSV_Customer>().ToList();
                        int totalRead     = 0;
                        int totalNotfound = 0;
                        int totalUpdate   = 0;

                        List <TBCustomer> listCustomer = new List <TBCustomer>();
                        foreach (var item in record)
                        {
                            totalRead++;
                            TBCustomer cust = db.TBCustomers.Where(x => !x.Deflag && x.IDCustomer_Group == 1 && x.Email == item.Email).FirstOrDefault();
                            //var employee = emp.GetData_By_Token(HttpContext.Current.Request.Cookies[System.Configuration.ConfigurationManager.AppSettings["cookieAdmin"].ToString()].Value);
                            if (cust == null)
                            {
                                TBCustomer newCust = new TBCustomer();
                                newCust.FirstName = item.FirstName;
                                newCust.LastName  = item.LastName;
                                newCust.Email     = item.Email;
                                if (item.Gender == 2)
                                {
                                    newCust.Gender = "P";
                                }
                                else
                                {
                                    newCust.Gender = "L";
                                }
                                newCust.DateInsert     = DateTime.ParseExact(item.CreateDate, "dd/MM/yyyy H:mm", System.Globalization.CultureInfo.InvariantCulture);
                                newCust.DateLastUpdate = DateTime.ParseExact(item.LastUpdateDate, "dd/MM/yyyy H:mm", System.Globalization.CultureInfo.InvariantCulture);
                                if (item.Birthday != null && item.Birthday != "NULL")
                                {
                                    newCust.Birthday = DateTime.ParseExact(item.Birthday, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                                }
                                newCust.IDCustomer_Group = 1;
                                newCust.Active           = true;
                                newCust.Password         = "";

                                //Class_Customer classCustomer = new Class_Customer();

                                //string text = item.Email + "-" + item.FirstName.Substring(0, 2);
                                //string pass = classCustomer.EncryptToken(item.Email, DateTime.Now.ToString("MMddHHmmss"));
                                //newCust.Password = pass;

                                listCustomer.Add(newCust);

                                db.SP_Insert_Customer(1, item.FirstName, item.LastName, newCust.Gender, item.Email, "", "", newCust.Birthday, true, newCust.DateInsert, newCust.DateLastUpdate);
                            }
                            else
                            {
                                totalNotfound++;
                            }
                        }

                        //db.TBCustomers.InsertAllOnSubmit(listCustomer);
                        //db.SubmitChanges();

                        foreach (var item in listCustomer)
                        {
                            Class_Customer classCustomer = new Class_Customer();
                            classCustomer.AJAX_Forget_Password(item.Email);
                        }

                        sr.Close();
                        lblSuccess.Text += totalRead + " row(s) read, " + totalUpdate + " row(s) updated, " + totalNotfound + " row(s) customer exists";
                        alertError.Style.Add(HtmlTextWriterStyle.Display, "none");
                        alertSuccess.Style.Add(HtmlTextWriterStyle.Display, "block");
                    }
                    catch (Exception ex)
                    {
                        sr.Close();
                        lblError.Text = ex.Message;
                        alertError.Style.Add(HtmlTextWriterStyle.Display, "block");
                        alertSuccess.Style.Add(HtmlTextWriterStyle.Display, "none");
                    }
                }
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
                alertError.Style.Add(HtmlTextWriterStyle.Display, "block");
                alertSuccess.Style.Add(HtmlTextWriterStyle.Display, "none");
            }
        }
    }