예제 #1
0
        /**
         * This method builds the url for the request to Oceanic Airlines
         * with the parameters since they do not have a body for the request
         */
        private static string BuildUrl(CompanyEnum companyCode, CityEnum cityFrom, CityEnum cityTo, string parcelTyoe, int weight, int height, int width, int length)
        {
            string url = Config.OCEANIC_AIRLINES_URL;

            url += "companyCode=" + companyCode.ToString() + "&";
            url += "cityFrom=" + cityFrom.ToString() + "&";
            url += "&cityTo=" + cityTo.ToString() + "&";
            url += "parceltype=" + parcelTyoe + "&";
            url += "weight=" + weight + "&";
            url += "height=" + height + "&";
            url += "width=" + width + "&";
            url += "lenght=" + length;

            return(url);
        }
예제 #2
0
 private void ExportExcel()
 {
     if (expressContextDict == null || expressContextDict.Count == 0)
     {
         return;
     }
     try
     {
         XSSFWorkbook workbook = new XSSFWorkbook();
         ISheet       sheet    = workbook.CreateSheet(companyEnum.ToString());
         int          rowNo    = 0;
         foreach (var express in expressContextDict)
         {
             IRow  row  = sheet.CreateRow(rowNo);
             ICell cell = row.CreateCell(0);
             cell.SetCellValue(express.Key);
             int cellNo = 1;
             foreach (var info in express.Value)
             {
                 cell = row.CreateCell(cellNo);
                 cell.SetCellValue(string.Format("{0}:{1}", info.Key, info.Value));
             }
             rowNo++;
         }
         //转为字节数组
         MemoryStream stream = new MemoryStream();
         workbook.Write(stream);
         var buf = stream.ToArray();
         if (!Directory.Exists(this.tbFilePath.Text))
         {
             Directory.CreateDirectory(this.tbFilePath.Text);
         }
         string fileName = Path.Combine(this.tbFilePath.Text, "快递查询结果_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx");
         using (FileStream fs = File.Create(fileName))
         {
             fs.Write(buf, 0, buf.Length);
             fs.Flush();
         }
         ShowInfo("导出完成");
     }
     catch (Exception ex)
     {
         ShowInfo("导出异常:" + ex.Message + ex.StackTrace);
     }
 }
예제 #3
0
        public static string GetReportEmailMessage(CompanyEnum company, string areaName, int areaId, AppDbContext _db)
        {
            var today         = System.DateTime.UtcNow.ToCentralTime();
            var yesterday     = today.AddDays(-1);
            var thisWeekStart = today.AddDays(-(int)today.DayOfWeek).Date;
            var thisWeekEnd   = thisWeekStart.AddDays(7).AddSeconds(-1);
            var lastWeekStart = thisWeekStart.AddDays(-7);
            var lastWeekEnd   = thisWeekStart.AddSeconds(-1);

            var openedWorkOrderModels = new List <WorkOrdersGridViewModel>();
            var closedWorkOrderModels = new List <WorkOrdersGridViewModel>();
            //Add Awaiting Approval workorders

            var openedWorkOrders = _db.Workorders.Where(x => x.Reported >= lastWeekStart && x.Reported <= lastWeekEnd && x.Department.AreaID == areaId).ToList();

            foreach (var workorder in openedWorkOrders)
            {
                var model = new WorkOrdersGridViewModel();
                model.DepartmentName     = workorder.Department != null ? workorder.Department.Name : null;
                model.DepartmentAreaName = workorder.Department != null ? workorder.Department.AreaName : null;
                model.Reported           = workorder.Reported;
                model.Priority           = workorder.Priority;
                model.Details            = workorder.Details;
                model.Closed             = workorder.Closed;
                model.Id = workorder.Id;
                openedWorkOrderModels.Add(model);
            }

            var message = @"<h2>" + company.ToString() + @" Weekly Maintenance Workorders Report</h2>
                                    <h2>" + areaName + @"</h2>
                                    <h5>Report created " + @DateTime.UtcNow.ToCentralTime() + @"</h5><br />
                                      <h4 ><i>Workorders Opened over the past week</i> </h4> ";

            if (openedWorkOrderModels.Any() == false)
            {
                message += "No Workorders were opened for the specified reporting period.";
            }
            else
            {
                message += @" <table style=""border:1px"">
                                       <tr style=""text-align:left"">
                                            <th style=""border-bottom:1px; border-right: 1px;"">Department</th> 
                                            <th style=""border-bottom:1px; border-right: 1px;"">Reported </th>   
                                             <th style=""border-bottom:1px; border-right: 1px;"">Details</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Priorty</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Due</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Days Overdue</th>
                                           <th style=""border-bottom:1px"">Days Open </th>
                                        </tr>";

                foreach (var workorder in openedWorkOrderModels)
                {
                    message += GetWorkorderEmailRow(workorder);
                }

                message += @"</table>";
            }


            message += @"<h4><i>Workorders closed over the past week</i> </h4>";
            var closedWorkOrders = _db.Workorders.Where(x => x.Closed != null && x.Closed >= lastWeekStart && x.Closed <= lastWeekEnd && x.Department.AreaID == areaId).ToList();

            foreach (var workorder in closedWorkOrders)
            {
                var model = new WorkOrdersGridViewModel();
                model.DepartmentName     = workorder.Department != null ? workorder.Department.Name : null;
                model.DepartmentAreaName = workorder.Department != null ? workorder.Department.AreaName : null;
                model.Reported           = workorder.Reported;
                model.Priority           = workorder.Priority;
                model.Details            = workorder.Details;
                model.Closed             = workorder.Closed;
                model.Id = workorder.Id;
                closedWorkOrderModels.Add(model);
            }

            if (closedWorkOrderModels.Any() == false)
            {
                message += "No Workorders were closed during the specified reporting period.";
            }
            else
            {
                message += @" <table style=""border:1px"">
                                       <tr style=""text-align:left"">
                                            <th style=""border-bottom:1px; border-right: 1px;"">Department</th> 
                                            <th style=""border-bottom:1px; border-right: 1px;"">Reported </th>   
                                             <th style=""border-bottom:1px; border-right: 1px;"">Details</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Priorty</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Due</th>
                                            <th style=""border-bottom:1px; border-right: 1px;"">Days Overdue</th>
                                           <th style=""border-bottom:1px"">Days Open </th>
                                        </tr>";

                foreach (var workorder in closedWorkOrderModels)
                {
                    message += GetWorkorderEmailRow(workorder);
                }

                message += @"</table>";
            }

            return(message);
        }