Esempio n. 1
0
        public void InsertPipelineImport(ModelPipelineImport pModel)
        {
            if (pModel == null)
            {
                return;
            }
            string strCommand = @"INSERT INTO PIPELINE_IMPORT ( RC_NAME, FLOW, DIAMETER, LENGTH, EFFICIENCY, 
                ROUGHNESS, LOAD, VELOCITY, OUTSIDE_DIAMETER, WALL_THICKNESS, SERVICE_STATE,
                MONTH, YEAR, UPLOAD_DATE, UPLOAD_BY, REGION) 
                VALUES ( '{0}' ,{1} ,{2} ,{3} ,{4} ,{5} ,{6} , {7} ,{8} ,{9} ,'{10}' ,{11} ,{12} , sysdate , '{13}' , {14} )";

            strCommand = string.Format(
                strCommand,
                pModel.RC_NAME.Trim().Replace("'", "''"),
                pModel.FLOW,
                pModel.DIAMETER,
                pModel.LENGTH,
                pModel.EFFICIENCY,
                pModel.ROUGHNESS,
                pModel.LOAD,
                pModel.VELOCITY,
                pModel.OUTSIDE_DIAMETER,
                pModel.WALL_THICKNESS,
                pModel.SERVICE_STATE.Replace("'", "''"),
                pModel.MONTH,
                pModel.YEAR,
                pModel.UPLOAD_BY.Trim().Replace("'", "''"),
                pModel.REGION.Trim().Replace("'", "''")
                );
            var dal = new DAL.DAL();

            dal.ExecuteNonQuery(strCommand);
            dal = null;
        }
Esempio n. 2
0
        public void UpdatePipelineImport(ModelPipelineImport pModel)
        {
            if (pModel == null)
            {
                return;
            }
            string strCommand = @"UPDATE PIPELINE_IMPORT SET
       RC_NAME          = '{0}',
       FLOW             = {1},
       DIAMETER         = {2},
       LENGTH           = {3},
       EFFICIENCY       = {4},
       ROUGHNESS        = {5},
       LOAD             = {6},
       VELOCITY         = {7},
       OUTSIDE_DIAMETER = {8},
       WALL_THICKNESS   = {9},
       SERVICE_STATE    = '{10}',       
       UPLOAD_DATE      = sysdate,
       UPLOAD_BY        = '{11}',
       REGION           = '{12}'
WHERE 1=1 
	AND PIPELINE_ID	= {13}
	AND MONTH	= {14}
	AND YEAR	= {15}"        ;

            strCommand = string.Format(strCommand,
                                       pModel.RC_NAME.Trim().Replace("'", "''"),
                                       pModel.FLOW,
                                       pModel.DIAMETER,
                                       pModel.LENGTH,
                                       pModel.EFFICIENCY,
                                       pModel.ROUGHNESS,
                                       pModel.LOAD,
                                       pModel.VELOCITY,
                                       pModel.OUTSIDE_DIAMETER,
                                       pModel.WALL_THICKNESS,
                                       pModel.SERVICE_STATE.Trim().Replace("'", "''"),
                                       pModel.UPLOAD_BY.Trim().Replace("'", "''"),
                                       pModel.REGION.Trim().Replace("'", "''"),
                                       pModel.PIPELINE_ID,
                                       pModel.MONTH,
                                       pModel.YEAR
                                       );
            var dal = new DAL.DAL();

            dal.ExecuteNonQuery(strCommand);
            dal = null;
        }
Esempio n. 3
0
        public bool IsPipelineImportDuplicate(ModelPipelineImport pModel)
        {
            if (pModel == null)
            {
                return(false);
            }
            string strCommand = @"select case when exists(
                select 1 from pipeline_Import where rc_Name = '{0}' and month ={1} and year = {2}
            ) then 1 else 0 end xx from dual";

            strCommand = string.Format(strCommand, pModel.RC_NAME.Replace("'", "''"), pModel.MONTH, pModel.YEAR);
            var dal        = new DAL.DAL();
            var objExecute = dal.ExecuteScalar(strCommand);

            return(1.Equals(objExecute));
        }
Esempio n. 4
0
        public IEnumerable <ModelPipelineImport> ReadExcelPipelineImport(
            System.IO.Stream pStreamExcel,
            int pIntMonth,
            string pStrRegionId,
            string pStrUploadBy,
            int pIntYear)
        {
            if (pStreamExcel == null || pStreamExcel.Length <= 0)
            {
                yield break;
            }
            using (var exel = new OfficeOpenXml.ExcelPackage(pStreamExcel))
            {
                var exWorkSheet = exel.Workbook.Worksheets[1];

                int intColCount = exWorkSheet.Dimension.End.Column;
                int intRowCount = exWorkSheet.Dimension.End.Row;

                int intStartRow = 4;
                int intEndRow   = intRowCount - 6;
                for (int intRow = intStartRow; intRow < intEndRow; ++intRow)
                {
                    var pipImport = new ModelPipelineImport()
                    {
                        DIAMETER         = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.DIAMETER).GetDecimal(),
                        EFFICIENCY       = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.EFFICIENCY).GetDecimal(),
                        FLOW             = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.FLOW).GetDecimal(),
                        LENGTH           = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.LENGTH).GetDecimal(),
                        LOAD             = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.LOAD).GetDecimal(),
                        MONTH            = pIntMonth,
                        OUTSIDE_DIAMETER = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.OUTSIDE_DIAMETER).GetDecimal(),
                        PIPELINE_ID      = 0,
                        RC_NAME          = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.RC_NAME).GetString(),
                        REGION           = pStrRegionId,
                        ROUGHNESS        = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.ROUGHNESS).GetDecimal(),
                        SERVICE_STATE    = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.SERVICE_STATE).GetString(),
                        UPLOAD_BY        = pStrUploadBy,
                        UPLOAD_DATE      = DateTime.Now,
                        VELOCITY         = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.VELOCITY).GetDecimal(),
                        WALL_THICKNESS   = getExcelPipelineValue(exWorkSheet, intRow, enumExcelPipelineColumn.WALL_THICKNESS).GetDecimal(),
                        YEAR             = pIntYear
                    };
                    yield return(pipImport);
                }
            };
        }
Esempio n. 5
0
        public IEnumerable <ModelPipelineImport> GetListPipelineImportDuplicate(IEnumerable <ModelPipelineImport> pListModel)
        {
            if (pListModel == null && !pListModel.Any(x => x != null))
            {
                return(null);
            }

            string strCommand          = @"select * from PIPELINE_IMPORT
            where year = {0} and month = {1}
            and RC_NAME in ({2})";
            ModelPipelineImport model1 = pListModel.Where(x => x != null).First();

            DAL.DAL dal = new DAL.DAL();
            IEnumerable <ModelPipelineImport> result = Enumerable.Empty <ModelPipelineImport>();

            pListModel.Batch(1000).ForEach(list => {
                string strAllRcName = list
                                      .Where(x => x != null && !string.IsNullOrEmpty(x.RC_NAME))
                                      .Select(x => "'" + x.RC_NAME.Replace("'", "''") + "'")
                                      .Aggregate((x, y) => x + "," + y);

                if (string.IsNullOrEmpty(strAllRcName))
                {
                    return;
                }
                string _command = string.Format(strCommand, model1.YEAR, model1.MONTH, strAllRcName);
                result          = result.Concat(
                    dal.ReadData(
                        pStrCommand: _command,
                        pFuncReadData: r => new ModelPipelineImport(r)
                        )
                    );
            });
            dal = null;
            return(result);
        }