Пример #1
0
        public async Task <ActionResult> Index(SearchCriteriaOACY criteria, string download)
        {
            var CycleIndicator = ICycleIndicator.GetCycles();

            ViewBag.Cycles = new SelectList(CycleIndicator.AsEnumerable(), "Code", "Name", 1);

            ShipperReturnByIdentity currentIdentity = new ShipperReturnByIdentity();

            currentIdentity      = GetValueFromIdentity();
            criteria.flagDefault = false;
            if (download != null)
            {
                var request = new RestRequest(string.Format("GetTotalCountOacy"), Method.POST)
                {
                    RequestFormat = DataFormat.Json
                };
                request.JsonSerializer = NewtonsoftJsonSerializer.Default;
                request.AddJsonBody(criteria);
                var response     = client.Execute <int>(request);
                int totalRecords = response.Data;
                criteria.size = totalRecords;
                criteria.page = 1;
                var modelDownload = await GetAllOacyDataAsync(criteria);

                //DownloadCSV(modelDownload);
                return(RedirectToAction("Index", modelDownload));
            }
            return(RedirectToAction("Index", criteria));
        }
Пример #2
0
        private async Task <SearchCriteriaOACY> GetAllOacyDataAsync(SearchCriteriaOACY criteria)
        {
            List <OACYPerTransactionDTO> list = new List <OACYPerTransactionDTO>();

            var request = new RestRequest(string.Format("GetOACYByCriteria"), Method.POST)
            {
                RequestFormat = DataFormat.Json
            };

            request.JsonSerializer = NewtonsoftJsonSerializer.Default;

            request.AddJsonBody(criteria);
            var response = client.Execute <OacyResultDTO>(request);

            if (response.Data != null)
            {
                list = response.Data.oacyPerTransactionDTO;
                criteria.RecordCount = response.Data.RecordCount;
            }
            else
            {
                list = new List <OACYPerTransactionDTO>();
                criteria.RecordCount = 0;
            }

            criteria.OacyPerTransactionViewModel = list;


            return(criteria);
        }
Пример #3
0
        public async Task <ActionResult> GetData(OacyDataFilter oacyDataFilter)
        {
            JsonResult result = new JsonResult();

            try
            {
                // Initialization.
                string search   = Request.Form.GetValues("search[value]")[0];
                string draw     = Request.Form.GetValues("draw")[0];
                string order    = Request.Form.GetValues("order[0][column]")[0];
                string orderDir = Request.Form.GetValues("order[0][dir]")[0];
                int    startRec = Convert.ToInt32(Request.Form.GetValues("start")[0]);
                int    pageSize = Convert.ToInt32(Request.Form.GetValues("length")[0]);


                // Loading.
                SearchCriteriaOACY criteria = new SearchCriteriaOACY();
                criteria.page          = (startRec / pageSize) + 1;
                criteria.size          = pageSize;
                criteria.sort          = GetColumnNameToSort(order);
                criteria.SortDirection = orderDir;
                //criteria.PipelineID = oacyDataFilter.PipelineID;
                criteria.keyword            = oacyDataFilter.keyword;
                criteria.postStartDate      = oacyDataFilter.postStartDate;
                criteria.EffectiveStartDate = oacyDataFilter.EffectiveGasDate;
                criteria.WatchListId        = oacyDataFilter.WatchListId;
                criteria.flagDefault        = oacyDataFilter.flagDefault;
                criteria.Cycle        = oacyDataFilter.Cycle;
                criteria.PipelineDuns = oacyDataFilter.PipelineDuns;
                criteria = await GetAllOacyDataAsync(criteria);


                List <OACYPerTransactionDTO> OacyPerTransactionViewlist = criteria.OacyPerTransactionViewModel.ToList();

                // Total record count.

                int totalRecords = criteria.RecordCount;
                // Sorting.

                // Filter record count.
                int recFilter = criteria.RecordCount;

                // Apply pagination.

                // Loading drop down lists.
                result = this.Json(new { draw = Convert.ToInt32(draw), recordsTotal = totalRecords, recordsFiltered = recFilter, data = OacyPerTransactionViewlist }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
Пример #4
0
        public ActionResult Index(SearchCriteriaOACY criteria)
        {
            ShipperReturnByIdentity currentIdentity = new ShipperReturnByIdentity();

            currentIdentity = GetValueFromIdentity();

            var model = new SearchCriteriaOACY();

            //model.PipelineID = criteria.PipelineID;
            model.EffectiveStartDate = criteria.EffectiveStartDate;
            model.keyword            = criteria.keyword;
            model.WatchListId        = criteria.WatchListId;
            model.Cycle    = criteria.Cycle;
            model.postTime = criteria.postTime == null ? DateTime.Now.Date + new TimeSpan(DateTime.Now.AddHours(-4).TimeOfDay.Hours, 0, 0) : criteria.postTime;
            var pipelineDuns = criteria.PipelineDuns; // piplineservice.GetDunsByPipelineID(criteria.PipelineID.Value);

            model.PipelineDuns = criteria.PipelineDuns;

            if (criteria.flagDefault)
            {
                var request = new RestRequest(string.Format("GetRecentOacyPostDate"), Method.GET);
                request.AddQueryParameter("PipelineDuns", pipelineDuns);
                var response = client.Execute <DateTime?>(request);
                model.postStartDate = response.Data != null ? response.Data : DateTime.Now.Date;
            }
            else
            {
                model.postStartDate = criteria.postStartDate;
            }
            //model.postEndDate = DateTime.Now.AddHours(-4);
            var CycleIndicator = ICycleIndicator.GetCycles();

            ViewBag.Cycles = new SelectList(CycleIndicator.AsEnumerable(), "Code", "Name", 1);
            var result = GetAllOacyDataAsync(model);

            model.OacyPerTransactionViewModel = result.Result.OacyPerTransactionViewModel;
            return(this.View(model));
        }
Пример #5
0
        public ActionResult DownloadCSV(string PipelineDuns, DateTime postStartDate, DateTime?EffectiveGasDate, string keyword, string Cycle)
        {
            try
            {
                SearchCriteriaOACY criteria = new SearchCriteriaOACY();
                criteria.PipelineDuns       = PipelineDuns;
                criteria.postStartDate      = postStartDate;
                criteria.EffectiveStartDate = EffectiveGasDate;
                criteria.keyword            = keyword;
                criteria.Cycle = Cycle;
                var data = GetAllOacyDataAsync(criteria);
                criteria.OacyPerTransactionViewModel = data.Result.OacyPerTransactionViewModel;
                IWorkbook workbook;
                workbook = new XSSFWorkbook();
                var headerStyle = workbook.CreateCellStyle();
                var headerFont  = workbook.CreateFont();
                headerFont.IsBold = true;
                headerStyle.SetFont(headerFont);

                ISheet sheet1 = workbook.CreateSheet("Oacy");

                var  oacyList = criteria.OacyPerTransactionViewModel.ToList();
                var  typeList = oacyList.GetType();
                var  type     = oacyList.FirstOrDefault().GetType();
                var  props    = type.GetProperties();
                IRow row1     = sheet1.CreateRow(0);
                int  headCell = 0;
                for (int i = 0; i < props.Count(); i++)
                {
                    String columnName = props[i].Name.ToString();
                    if (columnName == "Loc" ||
                        columnName == "LocName" ||
                        columnName == "CycleIndicator" ||
                        columnName == "LocQTIDesc" ||
                        columnName == "DesignCapacity" ||
                        columnName == "OperatingCapacity" ||
                        columnName == "MeasBasisDesc" ||
                        columnName == "TotalScheduleQty" ||
                        columnName == "OperationallyAvailableQty" ||
                        columnName == "FlowIndicator" ||
                        columnName == "ITIndicator" ||
                        columnName == "AllQtyAvailableIndicator" ||
                        columnName == "AvailablePercentage")
                    {
                        ICell cell = row1.CreateCell(headCell);
                        cell.SetCellValue(columnName);
                        cell.CellStyle = headerStyle;
                        headCell++;
                    }
                }
                // var result=unscList.Contains()
                for (int j = 0; j < oacyList.Count; j++)
                {
                    int  rowCell = 0;
                    IRow row     = sheet1.CreateRow(j + 1);
                    for (int i = 0; i < props.Count(); i++)
                    {
                        var columnName = props[i].Name;
                        if (columnName == "Loc" ||
                            columnName == "LocName" ||
                            columnName == "CycleIndicator" ||
                            columnName == "LocQTIDesc" ||
                            columnName == "DesignCapacity" ||
                            columnName == "OperatingCapacity" ||
                            columnName == "MeasBasisDesc" ||
                            columnName == "TotalScheduleQty" ||
                            columnName == "OperationallyAvailableQty" ||
                            columnName == "FlowIndicator" ||
                            columnName == "ITIndicator" ||
                            columnName == "AllQtyAvailableIndicator" ||
                            columnName == "AvailablePercentage")
                        {
                            var    res    = oacyList[j].GetType().GetProperty(columnName).GetValue(oacyList[j]);
                            string result = res != null?res.ToString() : string.Empty;

                            ICell cell = row.CreateCell(rowCell);
                            cell.SetCellValue(result);
                            rowCell++;
                        }
                    }
                }
                using (var exportData = new MemoryStream())
                {
                    workbook.Write(exportData);
                    return(File(exportData.ToArray(),
                                "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                                "OACY.xls"));
                }
            }
            catch (Exception ex)
            {
                return(File(new byte[0],
                            "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                            "OACY.xls"));
            }
        }