Exemple #1
0
 public int ToSort()
 {
     //Получаем год
     _ = int.TryParse(DateCount.Substring(6, 4), out int rrr);
     //Получаем месяц
     _ = int.TryParse(DateCount.Substring(3, 2), out int rr);
     //Получаем день
     _ = int.TryParse(DateCount.Substring(0, 2), out int r);
     //пример: 11/01/2021 = 20210111
     return(rrr * 10000 + rr * 100 + r);
 }
        public ActionResult Index()
        {
            EmployeeListViewModel    employeeListViewModel = new EmployeeListViewModel();
            EmployeeBusinessLayer    empBal        = new EmployeeBusinessLayer();
            List <Employee>          employees     = empBal.GetEmployees();
            List <EmployeeViewModel> empViewModels = new List <EmployeeViewModel>();

            employeeListViewModel.UserName = User.Identity.Name;
            List <AreaModel> areaInfo = new List <AreaModel>();

            areaInfo = empBal.GetAreaInfo();

            var eply = from m in employees
                       select m;

            var email = from m in employees
                        select m.email;

            employeeListViewModel.uniqueUser = email.Distinct().Count();

            //var dateInfo = from m in employees
            //               join region in areaInfo on m.email equals region.Email
            //               where m.event1 == "open"
            //               orderby DateTime.Parse(m.DateInclude).Year.ToString() + "-" + DateTime.Parse(m.DateInclude).Month.ToString() + "-" + DateTime.Parse(m.DateInclude).Day.ToString()
            //               group m by new { date = DateTime.Parse(m.DateInclude).Year.ToString() + "-" + DateTime.Parse(m.DateInclude).Month.ToString() + "-" + DateTime.Parse(m.DateInclude).Day.ToString(), code = region.AreaCode } into grp
            //               select new { key = grp.Key, cnt = grp.Count() };

            var dateInfo = from m in employees
                           where m.event1 == "open"
                           orderby DateTime.Parse(m.DateInclude).Year.ToString() + "-" + DateTime.Parse(m.DateInclude).Month.ToString() + "-" + DateTime.Parse(m.DateInclude).Day.ToString()
                           group m by DateTime.Parse(m.DateInclude).Year.ToString() + "-" + DateTime.Parse(m.DateInclude).Month.ToString() + "-" + DateTime.Parse(m.DateInclude).Day.ToString() into grp
                           select new { key = grp.Key, cnt = grp.Count() };
            List <DateCount> dateCount = new List <DateCount>();

            foreach (var item in dateInfo)
            {
                DateCount date = new DateCount();
                date.date = item.key;

                date.count = item.cnt;
                dateCount.Add(date);
            }
            employeeListViewModel.dateCount = dateCount;



            var clickUser = from m in employees
                            where m.event1 == "click"
                            select m.email;
            int uniqueClickUser = clickUser.Distinct().Count();

            employeeListViewModel.uniqueClickUser = uniqueClickUser;

            var urlInfo = from m in employees
                          where m.url != ""
                          group m by m.url.Split('/')[m.url.Split('/').Count() - 1] into grp
                          orderby grp.Count() descending
                          select new { key = grp.Key, cnt = grp.Count() };
            List <UrlCount> urlCount = new List <UrlCount>();

            foreach (var item in urlInfo)
            {
                UrlCount url = new UrlCount();
                url.url   = item.key;
                url.count = item.cnt;
                urlCount.Add(url);
            }
            employeeListViewModel.urlCount = urlCount;

            var open      = eply.Where(s => s.event1.Equals("open"));
            var click     = eply.Where(s => s.event1.Equals("click"));
            var processed = eply.Where(s => s.event1.Equals("processed"));
            var delivered = eply.Where(s => s.event1.Equals("delivered"));
            var deferred  = eply.Where(s => s.event1.Equals("deferred"));

            employeeListViewModel.openCount      = open.Count();
            employeeListViewModel.clickCount     = click.Count();
            employeeListViewModel.processedCount = processed.Count();
            employeeListViewModel.deliveredCount = delivered.Count();
            employeeListViewModel.deferredCount  = deferred.Count();



            //System.Diagnostics.Debug.WriteLine("here");
            //foreach (var a in areaInfo)
            //{
            //    System.Diagnostics.Debug.WriteLine(a.EmpId);
            //}
            //System.Diagnostics.Debug.WriteLine("here2");

            var regionCode = from m in employees
                             where m.event1 == "open"
                             join code in areaInfo on m.email equals code.Email
                             group code by code.AreaCode into grp
                             select new { code = grp.Key, cnt = grp.Distinct().Count() };
            List <regionCodeCount> regionCodeCount = new List <regionCodeCount>();

            foreach (var item in regionCode)
            {
                regionCodeCount region = new regionCodeCount();
                region.regionCode = item.code;
                region.count      = item.cnt;
                regionCodeCount.Add(region);
            }
            employeeListViewModel.regionCodeCount = regionCodeCount;


            var countrySet = from m in employees
                             where m.event1 == "open"
                             join code in areaInfo on m.email equals code.Email
                             group code by code.Country into grp
                             select new { code = grp.Key, cnt = grp.Distinct().Count(), regionCode = grp.First().AreaCode };
            List <countryCount> america      = new List <countryCount>();
            List <countryCount> asianPacific = new List <countryCount>();
            List <countryCount> europe       = new List <countryCount>();

            foreach (var country in countrySet)
            {
                countryCount cty = new countryCount();
                cty.country = country.code;
                cty.count   = country.cnt;
                switch (country.regionCode)
                {
                case "AMS":
                    america.Add(cty);
                    break;

                case "EUR":
                    europe.Add(cty);
                    break;

                case "APJ":
                    asianPacific.Add(cty);
                    break;
                }
            }
            employeeListViewModel.america      = america;
            employeeListViewModel.europe       = europe;
            employeeListViewModel.asianPacific = asianPacific;

            foreach (Employee emp in employees)
            {
                EmployeeViewModel empViewModel = new EmployeeViewModel();
                empViewModel.Id        = emp.Id;
                empViewModel.email     = emp.email;
                empViewModel.event1    = emp.event1;
                empViewModel.timestamp = emp.timestamp;
                empViewModels.Add(empViewModel);
            }
            employeeListViewModel.Employees              = empViewModels;
            employeeListViewModel.FooterData             = new FooterViewModel();
            employeeListViewModel.FooterData.CompanyName = "DYD Creative Solution";//Can be set to dynamic value
            employeeListViewModel.FooterData.Year        = DateTime.Now.Year.ToString();
            return(View("Index", employeeListViewModel));
        }
Exemple #3
0
    protected void BT_Submit_Click(object sender, EventArgs e)
    {
        int          count      = Table1.Rows.Count;
        List <Stock> L_Stock    = new List <Stock>();
        List <Stock> Temp_Stock = Stock_MG.Select_StockS(DateTime.Now);
        int          DateCount;

        if (Temp_Stock.Count != 0)
        {
            String MarkName = Temp_Stock.Last().Stock_Mark.ToString();
            DateCount = Convert.ToInt32(MarkName[MarkName.Length - 1]) - 47;
        }
        else
        {
            DateCount = 0;
        }
        for (int i = 1; i < count; i++)
        {
            //在3个文本框都有值,且商品厂商有值的情况下进行添加
            if (((TextBox)Table1.Rows[i].Cells[1].Controls[0]).Text.ToString() != "" &&
                ((DropDownList)Table1.Rows[i].Cells[5].Controls[0]).SelectedValue.ToString() != "" &&
                !((DropDownList)Table1.Rows[i].Cells[5].Controls[0]).SelectedValue.ToString().Contains("数据库未找到该商品") &&
                ((TextBox)Table1.Rows[i].Cells[3].Controls[0]).Text != "")
            {
                L_Stock.Add(new Stock()
                {
                    Stock_Time   = DateTime.Now,
                    Stock_Mark   = "JH" + DateTime.Now.Year + DateTime.Now.Month.ToString("D2") + DateTime.Now.Day.ToString("D2") + DateCount.ToString("D3"),
                    Stock_UID    = (Guid)Membership.GetUser(User.Identity.Name).ProviderUserKey,
                    Stock_Number = Convert.ToInt32(((TextBox)Table1.Rows[i].Cells[3].Controls[0]).Text),
                    Stock_Pro_ID = PTP_MG.Select_VW_Product(((TextBox)Table1.Rows[i].Cells[1].Controls[0]).Text.ToString(), ((DropDownList)Table1.Rows[i].Cells[5].Controls[0]).SelectedValue.ToString()).Pro_ID
                });
            }
        }
        if (Stock_MG.Insert_Stock(L_Stock))
        {
            LB_Result.Text = "成功";
        }
        else
        {
            LB_Result.Text = "失败";
        }
        MV.ActiveViewIndex += 1;
    }