예제 #1
0
        public ActionResult AddIGMembers(IGMembers igmember)
        {
            if (TryUpdateModel(igmember, new string[] { "IG_Account", "IG_Password", "Instagramlink", "IG_Name", "Isenable", "Productid", "Country" }) && ModelState.IsValid)
            {
                igmember.IGMemberid = Guid.NewGuid();
                igmember.IG_Account = Regex.Replace(igmember.IG_Account, @"[^a-z||A-Z||@||.||0-9]", "");         // 保留A-Z、a-z、0-9、小老鼠、小數點,其餘取代空值
                igmember.Createdate = dt_tw();
                igmember.Updatedate = dt_tw();
                igmember.Lastdate   = ((int)(dt_tw() - new DateTime(1970, 1, 1)).TotalSeconds) - 28800;    // 總秒數
                igmember.Isenable   = 1;
                /*** 隨機抓取Useragent ***/
                int         useragentCount = useragentService.Get().Count();
                Useragent[] useragent      = useragentService.Get().ToArray();
                Random      crand          = new Random();
                int         rand           = crand.Next(0, useragentCount - 1);
                igmember.Useragent = useragent[rand].User_agent;
                /**** 將會員寫進會員登入紀錄裡,預設狀態為0 【0 : 未驗證 , 1 : 已驗證 , 2 : 需驗證】 ****/
                IGMembersLoginlog igmemberloginlog = new IGMembersLoginlog();
                igmemberloginlog.IGMemberid = igmember.IGMemberid;
                igmemberloginlog.Createdate = igmember.Createdate;
                igmemberloginlog.Status     = 0;
                igmember.IGMembersLoginlog.Add(igmemberloginlog);
                /**** End Memberloginrecord ****/
                igmembersService.Create(igmember);
                igmembersService.SaveChanges();
            }

            return(RedirectToAction("IGMembers"));
        }
예제 #2
0
        public ActionResult EditIGMembers(int p, Guid IGMemberid)
        {
            ViewBag.pageNumber = p;
            IGMembers igmember = igmembersService.GetByID(IGMemberid);

            /**** IG 產品選單 ***/
            IGProductDropDownList(igmember);
            return(View(igmember));
        }
예제 #3
0
        public ActionResult DeleteIGMembers(Guid IGMemberid, int p)
        {
            IGMembers igmember = igmembersService.GetByID(IGMemberid);

            igmember.Isenable = 0;
            igmembersService.SpecificUpdate(igmember, new string[] { "Isenable" });
            igmembersService.SaveChanges();
            return(RedirectToAction("IGMembers"));
        }
예제 #4
0
        /*** 批量刪除IG會員 ****/
        public JsonResult AjaxDeleteIGMembersChecked(Guid[] IGMemberid)
        {
            if (IGMemberid != null)
            {
                foreach (Guid thismemberid in IGMemberid)
                {
                    IGMembers igmember = igmembersService.GetByID(thismemberid);
                    igmember.Isenable = 0;
                    igmembersService.SpecificUpdate(igmember, new string[] { "Isenable" });
                }
                igmembersService.SaveChanges();
            }

            return(this.Json("Success"));
        }
예제 #5
0
        public ActionResult EditIGMembers(Guid IGMemberid, int Status)
        {
            IGMembersLoginlog igmembersloginlog = new IGMembersLoginlog();
            IGMembers         igmember          = igmembersService.GetByID(IGMemberid);

            if (TryUpdateModel(igmember, new string[] { "IG_Account", "IG_Password", "Instagramlink", "IG_Name", "Productid", "Country" }) && ModelState.IsValid)
            {
                igmember.IG_Account = Regex.Replace(igmember.IG_Account, @"[^a-z||A-Z||@||.||0-9]", "");         // 保留A-Z、a-z、0-9、小老鼠、小數點,其餘取代空值
                igmembersService.Update(igmember);
                igmembersService.SaveChanges();

                igmembersloginlog.IGMemberid = IGMemberid;
                igmembersloginlog.Status     = Status;
                igmembersloginlog.Createdate = DateTime.Now;
                igmembersloginlogService.Create(igmembersloginlog);
                igmembersloginlogService.SaveChanges();
            }

            return(RedirectToAction("IGMembers"));
        }
예제 #6
0
        public IResult SpecificUpdate(IGMembers entity, string[] Includeproperties)
        {
            if (entity == null)
            {
                throw new ArgumentNullException();
            }

            IResult result = new Result(false);

            try
            {
                this.repository.SpecificUpdate(entity, Includeproperties);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Exception = ex;
            }
            return(result);
        }
예제 #7
0
        public IResult Update(IGMembers entity)
        {
            if (entity == null)
            {
                throw new ArgumentNullException();
            }

            IResult result = new Result(false);

            try
            {
                this.repository.Update(entity);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Exception = ex;
            }
            return(result);
        }
예제 #8
0
        public IResult Delete(IGMembers entity)
        {
            IResult result = new Result(false);

            if (entity == null)
            {
                result.Message = "找不到資料";
            }

            try
            {
                this.repository.Delete(entity);
                result.Success = true;
            }
            catch (Exception ex)
            {
                result.Exception = ex;
            }
            return(result);
        }
예제 #9
0
        public JsonResult UpdateIGRegainMember(string Id, string IGOrdernumber, string Memberid, string Cookie, int AccountStatus)
        {
            var keyValues = new Dictionary <string, string>();

            if (Id == "CloudControl_order")
            {
                IGOrder   igorder   = igorderService.Get().Where(a => a.IGOrdernumber == IGOrdernumber).FirstOrDefault();
                IGMembers igmembers = igmembersService.GetByID(Guid.Parse(Memberid));
                keyValues = new Dictionary <string, string>
                {
                    { "Status", "Success" }
                };
                return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
            }
            else
            {
                keyValues = new Dictionary <string, string>
                {
                    { "Status", "Error" }
                };
                return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
            }
        }
예제 #10
0
        public void import_IGMemberstoSQL(string path)
        {
            IWorkbook workBook;

            using (var fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite))
            {
                workBook = new XSSFWorkbook(fs);
            }

            var sheet = workBook.GetSheet("工作表1");

            for (var i = 1; i <= sheet.LastRowNum; i++)
            {
                var j = sheet.LastRowNum;
                if (sheet.GetRow(i) != null)
                {
                    IGMembers igmember = new IGMembers();
                    try
                    //if (sheet.GetRow(i).GetCell(0).ToString() != "" && sheet.GetRow(i).GetCell(0).ToString() != null)
                    {
                        try
                        {
                            if (sheet.GetRow(i).GetCell(0).ToString() != "" && sheet.GetRow(i).GetCell(0).ToString() != null)
                            {
                                igmember.IG_Account = Regex.Replace(sheet.GetRow(i).GetCell(0).ToString(), @"[^a-z||A-Z||@||.||0-9]", "");         // 保留A-Z、a-z、0-9、小老鼠、小數點,其餘取代空值
                            }
                        }
                        catch { }
                        try
                        {
                            if (sheet.GetRow(i).GetCell(1).ToString() != "" && sheet.GetRow(i).GetCell(1).ToString() != null)
                            {
                                igmember.IG_Password = sheet.GetRow(i).GetCell(1).ToString();
                            }
                        }
                        catch { }
                        try
                        {
                            if (sheet.GetRow(i).GetCell(2).ToString() != "" && sheet.GetRow(i).GetCell(2).ToString() != null)
                            {
                                igmember.IG_Name = sheet.GetRow(i).GetCell(2).ToString();
                            }
                        }
                        catch { }
                        try
                        {
                            if (sheet.GetRow(i).GetCell(3).ToString() != "" && sheet.GetRow(i).GetCell(3).ToString() != null)
                            {
                                igmember.Instagramlink = sheet.GetRow(i).GetCell(3).ToString();
                            }
                        }
                        catch { }
                        try
                        {
                            if (sheet.GetRow(i).GetCell(4).ToString() != "" && sheet.GetRow(i).GetCell(4).ToString() != null)
                            {
                                igmember.Country = Convert.ToInt32(sheet.GetRow(i).GetCell(4).ToString());
                            }
                        }
                        catch { }
                        try
                        {
                            if (sheet.GetRow(i).GetCell(4).ToString() != "" && sheet.GetRow(i).GetCell(5).ToString() != null)
                            {
                                igmember.Cookie = sheet.GetRow(i).GetCell(5).ToString();
                            }
                        }
                        catch { }

                        igmember.IGMemberid = Guid.NewGuid();
                        igmember.Createdate = dt_tw();
                        igmember.Updatedate = dt_tw();
                        igmember.Isenable   = 1;
                        igmember.Lastdate   = ((int)(dt_tw() - new DateTime(1970, 1, 1)).TotalSeconds) - 28800;
                        /*** 隨機指派手機版Useragent ***/
                        int         useragent_phone = useragentService.Get().Count();
                        Useragent[] useragent       = useragentService.Get().ToArray();
                        Random      rnd             = new Random();
                        int         rnd_useragent   = rnd.Next(1, useragent_phone - 1);
                        /*** End Useragent ***/
                        igmember.Useragent = useragent[rnd_useragent].User_agent;

                        /**** 將會員寫進會員登入紀錄裡,預設狀態為0 【0 : 未驗證 , 1 : 已驗證 , 2 : 需驗證】 ****/
                        IGMembersLoginlog igmembersloginlog = new IGMembersLoginlog();
                        igmembersloginlog.IGMemberid = igmember.IGMemberid;
                        igmembersloginlog.Createdate = dt_tw();
                        igmembersloginlog.Status     = 0;
                        igmember.IGMembersLoginlog.Add(igmembersloginlog);
                        /**** End LoginLog ***/
                        igmembersService.Create(igmember);
                    }
                    catch { }
                }
            }
            igmembersService.SaveChanges();
        }
예제 #11
0
        public JsonResult UpdateIGMember(string Id, string IGOrdernumber, string Memberid, string Cookie, int AccountStatus)
        {
            var keyValues = new Dictionary <string, string>();

            if (Id == "CloudControl_order")
            {
                IGOrder   igorder   = igorderService.Get().Where(a => a.IGOrdernumber == IGOrdernumber).FirstOrDefault();
                IGMembers igmembers = igmembersService.GetByID(Guid.Parse(Memberid));
                /*** 0 : 帳號有問題,1 : 成功執行,2 : 找不到執行的位置***/
                if (AccountStatus == 0)
                {
                    /*** 將會員寫入登入紀錄裡 ****/
                    IGMembersLoginlog igmembersloginlog = new IGMembersLoginlog();
                    igmembersloginlog.Createdate = dt_tw();
                    igmembersloginlog.IGMemberid = Guid.Parse(Memberid);
                    igmembersloginlog.Status     = 2; // 【 0:未驗證 , 1:已驗證 , 2:需驗證 】
                    igmembersloginlogService.Create(igmembersloginlog);
                    igmembersloginlogService.SaveChanges();
                    /**** 寫入TXT檔 *****/
                    //using (StreamWriter sw = new StreamWriter(txt_filepath, true))
                    //{
                    //    sw.Write("CloudControl訂單問題回報 訂單編號:" + igorder.IGOrdernumber + "會員帳號:" + igmembers.IG_Account + "登入有問題");
                    //    sw.Write(Environment.NewLine);
                    //    sw.Write(dt_tw());
                    //    sw.Write(Environment.NewLine);
                    //}
                    keyValues = new Dictionary <string, string>
                    {
                        { "Status", "Success" }
                    };
                    return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
                }
                else if (AccountStatus == 1)
                {
                    /*** 更新該會員的Cookie *****/
                    igmembers.Cookie = Cookie;
                    igmembersService.SpecificUpdate(igmembers, new string[] { "Cookie" });
                    igmembersService.SaveChanges();
                    /**** 寫入登入表裡 *****/
                    IGMembersLoginlog igmembersloginlog = new IGMembersLoginlog();
                    igmembersloginlog.IGMemberid = Guid.Parse(Memberid);
                    igmembersloginlog.Status     = 1;
                    igmembersloginlog.Createdate = dt_tw();
                    igmembersloginlogService.Create(igmembersloginlog);
                    igmembersloginlogService.SaveChanges();
                    /*** 改訂單剩餘人數 ***/
                    igorder.Remains -= 1;
                    igorderService.SpecificUpdate(igorder, new string[] { "Remains" });
                    igorderService.SaveChanges();
                    IGOrderlist igorderlist = new IGOrderlist();
                    igorderlist.IGOrderlistid = Guid.NewGuid();
                    igorderlist.IGMemberid    = Guid.Parse(Memberid);
                    igorderlist.IGAccount     = igmembers.IG_Account;
                    igorderlist.IGOrderid     = igorder.IGOrderid;
                    igorderlist.Createdate    = dt_tw();
                    igorderlist.Updatedate    = dt_tw();
                    igorderlistService.Create(igorderlist);
                    igorderlistService.SaveChanges();
                    keyValues = new Dictionary <string, string>
                    {
                        { "Status", "Success" }
                    };
                    return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    /**** 寫入TXT檔 *****/
                    //using (StreamWriter sw = new StreamWriter(txt_filepath, true))
                    //{
                    //    sw.Write("CloudControl訂單問題回報 訂單編號:" + igorder.IGOrdernumber + "會員帳號:" + igmembers.IG_Account + "找不到執行的位置");
                    //    sw.Write(Environment.NewLine);
                    //    sw.Write(dt_tw());
                    //    sw.Write(Environment.NewLine);
                    //}
                    keyValues = new Dictionary <string, string>
                    {
                        { "Status", "Success" }
                    };
                    return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                keyValues = new Dictionary <string, string>
                {
                    { "Status", "Error" }
                };
                return(this.Json(keyValues, JsonRequestBehavior.AllowGet));
            }
        }
예제 #12
0
        public JsonResult GetIGMember(string Id, int number, string IGOrdernumber)
        {
            get_member_status MemberStatus = new get_member_status();

            if (Id == "CloudControl_order")
            {
                IGOrder igorder = igorderService.Get().Where(a => a.IGOrdernumber == IGOrdernumber).FirstOrDefault();                                                                                     // 撈該訂單
                IEnumerable <IGOrderlist> igorderlist  = igorderlistService.Get().Where(a => a.IGOrder.IGOrdernumber == IGOrdernumber);                                                                   // 撈該訂單的完成列表
                IEnumerable <IGOrder>     old_igorders = igorderService.Get().Where(c => c.Productid == igorder.Productid).Where(a => a.IGOrdernumber != IGOrdernumber).Where(x => x.Url == igorder.Url); // 撈所有訂單裡網址為此訂單及產品為此訂單的資料
                Product product = productService.GetByID(igorder.Productid);                                                                                                                              // 撈此訂單所需的產品
                List <get_old_member> MemberList = new List <get_old_member>();

                /**** 先排除這張訂單的完成訂單裡的人 ****/
                if (igorderlist != null)
                {
                    foreach (IGOrderlist list in igorderlist)
                    {
                        string Account = Regex.Replace(list.IGMembers.IG_Account, @"[^a-z||A-Z||@||.||0-9]", "").Replace(" ", "");         // 保留A-Z、a-z、0-9、小老鼠、小數點,其餘取代空值
                        MemberList.Add(
                            new get_old_member
                        {
                            Account = Account
                        });
                    }
                }


                /*** 將同網址的訂單的完成訂單裡的人排除掉 ****/
                if (old_igorders != null)
                {
                    foreach (IGOrder old_igorder in old_igorders)
                    {
                        IEnumerable <IGOrderlist> old_igorderlists = igorderlistService.Get().Where(a => a.IGOrderid == old_igorder.IGOrderid);
                        foreach (IGOrderlist old_igorderlist in old_igorderlists)
                        {
                            string Account = Regex.Replace(old_igorderlist.IGMembers.IG_Account, @"[^a-z||A-Z||@||.||0-9]", "").Replace(" ", "");         // 保留A-Z、a-z、0-9、小老鼠、小數點,其餘取代空值
                            MemberList.Add(
                                new get_old_member
                            {
                                Account = Account
                            });
                        }
                    }
                }

                List <get_member> AccountList = new List <get_member>();
                //IEnumerable<IGMembers> IGMembers = igmembersService.Get().Where(a => a.Lastdate <= Now).Where(a => a.Country != null).Where(x => x.IGMembersLoginlog.OrderByDescending(c => c.Createdate).FirstOrDefault().Status != 2).OrderBy(o => o.Country);    // 撈可用時間小於現在以及驗證狀態不是需驗證的會員
                /*** 測試用 ***/
                IEnumerable <IGMembers> IGMembers = igmembersService.Get().Where(a => a.Country != null).Where(x => x.IGMembersLoginlog.OrderByDescending(c => c.Createdate).FirstOrDefault().Status != 2).OrderBy(o => o.Country);
                if (IGMembers != null)
                {
                    foreach (IGMembers Member in IGMembers)
                    {
                        bool used = false;
                        int  loop;
                        for (loop = 0; loop < MemberList.Count(); loop++)
                        {
                            if (Member.IG_Account == MemberList[loop].Account)
                            {
                                used = true;
                            }
                        }

                        if (used == false)
                        {
                            string Cookie = "";
                            if (Member.Cookie != null)
                            {
                                Cookie = Member.Cookie.Replace("True", "true").Replace("False", "false").Replace("name", "Name").Replace("value", "Value").Replace("path", "Path").Replace("domain", "Domain").Replace("secure", "Secure").Replace("httpOnly", "IsHttpOnly").Replace("expiry", "Expiry");
                                Cookie = Cookie.Replace(@"""", "");    // 將" 取代成空白
                                Cookie = Cookie.Replace('\\', '\"');   // 將\\ 取代成\"
                            }
                            /**** 判斷這張單是否是留言訂單 ****/
                            if (product.Productid == Guid.Parse("f5993cef-2a79-4413-bdbc-20a841f0c91e"))
                            {
                                /**** 撈取該訂單的留言類別 ****/
                                Guid CategortMessageid = categorymessageService.GetByID(igorder.Categoryid).Categoryid;
                                /*** 撈取該留言類別底下的留言 ***/
                                int       messageConunt = messageService.Get().Where(a => a.Categoryid == igorder.Categoryid).Count(); // 該留言類別底下的留言數量
                                Message[] message       = messageService.Get().Where(a => a.Categoryid == igorder.Categoryid).ToArray();
                                Random    crandom       = new Random();
                                int       rand          = crandom.Next(0, messageConunt - 1);
                                AccountList.Add(
                                    new get_member
                                {
                                    Memberid        = Member.IGMemberid,
                                    Account         = Member.IG_Account,
                                    Password        = Member.IG_Password,
                                    Useragent_phone = Member.Useragent,
                                    Cookie          = Cookie,
                                    Message         = message[rand].MessageName,
                                    Country         = Convert.ToInt16(Member.Country)
                                }
                                    );
                                used = true;
                            }
                            else
                            {
                                AccountList.Add(
                                    new get_member
                                {
                                    Memberid        = Member.IGMemberid,
                                    Account         = Member.IG_Account,
                                    Password        = Member.IG_Password,
                                    Useragent_phone = Member.Useragent,
                                    Cookie          = Cookie,
                                    Country         = Convert.ToInt16(Member.Country)
                                }
                                    );
                                used = true;
                            }
                        }
                    }

                    /*** 目前沒有可用人數 ****/
                    if (AccountList.Count() <= 0)
                    {
                        MemberStatus.status = false;
                        return(this.Json(MemberStatus, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        /*** 將相同國家的個別放群組 ****/
                        // AccountList -> 目前可使用會員, List->目前可使用會員做Group by分組
                        var List = AccountList.OrderBy(o => o.Country).GroupBy(a => a.Country).ToArray()[0].Take(number);
                        foreach (var Value in List)
                        {
                            IGMembers Member = igmembersService.GetByID(Value.Memberid);
                            Member.Lastdate = Now + 120;
                            igmembersService.SpecificUpdate(Member, new string[] { "Lastdate" });
                        }
                        //foreach (get_member entity in AccountList.Take(number))
                        //{
                        //    /*** 將此會員更新下次互惠時間 ****/
                        //    IGMembers Member = igmembersService.GetByID(entity.Memberid);
                        //    Member.Lastdate = Now + 120;
                        //    igmembersService.SpecificUpdate(Member, new string[] { "Lastdate" });
                        //}
                        igmembersService.SaveChanges();
                        MemberStatus.status = true;
                        MemberStatus.list   = List;

                        return(this.Json(MemberStatus, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    MemberStatus.status = false;
                    return(this.Json(MemberStatus, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                MemberStatus.status = false;
                return(this.Json(MemberStatus, JsonRequestBehavior.AllowGet));
            }
        }