/// <summary>
        /// Populate business objects from the data reader
        /// </summary>
        /// <param name="dataReader">data reader</param>
        /// <returns>list of CRecep_sample_report</returns>
        internal List <CRecep_sample_report> PopulateObjectsFromReader(IDataReader dataReader)
        {
            List <CRecep_sample_report> list = new List <CRecep_sample_report>();

            while (dataReader.Read())
            {
                CRecep_sample_report businessObject = new CRecep_sample_report();
                PopulateBusinessObjectFromReader(businessObject, dataReader);
                list.Add(businessObject);
            }
            return(list);
        }
        /// <summary>
        /// Select by primary key
        /// </summary>
        /// <param name="keys">primary keys</param>
        /// <returns>CRecep_sample_report business object</returns>
        public CRecep_sample_report SelectByPrimaryKey(CRecep_sample_reportKeys keys)
        {
            NpgsqlCommand sqlCommand = new NpgsqlCommand();

            sqlCommand.CommandText = "public.sp_recep_sample_report_SelectByPrimaryKey";
            sqlCommand.CommandType = CommandType.StoredProcedure;

            // Use connection object of base class
            sqlCommand.Connection = MainConnection;

            try
            {
                sqlCommand.Parameters.Add(new NpgsqlParameter("p_idrecep_sample_report", NpgsqlDbType.Bigint, 8, "", ParameterDirection.Input, false, 0, 0, DataRowVersion.Proposed, keys.Idrecep_sample_report));


                MainConnection.Open();

                NpgsqlDataReader dataReader = sqlCommand.ExecuteReader();

                if (dataReader.Read())
                {
                    CRecep_sample_report businessObject = new CRecep_sample_report();

                    PopulateBusinessObjectFromReader(businessObject, dataReader);

                    return(businessObject);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("CRecep_sample_report::SelectByPrimaryKey::Error occured.", ex);
            }
            finally
            {
                MainConnection.Close();
                sqlCommand.Dispose();
            }
        }
        /// <summary>
        /// Populate business object from data reader
        /// </summary>
        /// <param name="businessObject">business object</param>
        /// <param name="dataReader">data reader</param>
        internal void PopulateBusinessObjectFromReader(CRecep_sample_report businessObject, IDataReader dataReader)
        {
            businessObject.Idrecep_sample_report = dataReader.GetInt64(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Idrecep_sample_report.ToString()));

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Order_report.ToString())))
            {
                businessObject.Order_report = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Order_report.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Cod_recep_sample_report.ToString())))
            {
                businessObject.Cod_recep_sample_report = dataReader.GetInt64(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Cod_recep_sample_report.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Report_status.ToString())))
            {
                businessObject.Report_status = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Report_status.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Type_report.ToString())))
            {
                businessObject.Type_report = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Type_report.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Idrecep_sample.ToString())))
            {
                businessObject.Idrecep_sample = dataReader.GetInt64(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Idrecep_sample.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_email.ToString())))
            {
                businessObject.Flag_rpt_email = dataReader.GetBoolean(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_email.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_print.ToString())))
            {
                businessObject.Flag_rpt_print = dataReader.GetBoolean(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_print.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_pdf.ToString())))
            {
                businessObject.Flag_rpt_pdf = dataReader.GetBoolean(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Flag_rpt_pdf.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Date_report.ToString())))
            {
                businessObject.Date_report = dataReader.GetDateTime(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Date_report.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Time_report.ToString())))
            {
                businessObject.Time_report = dataReader.GetDateTime(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Time_report.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Usernew.ToString())))
            {
                businessObject.Usernew = dataReader.GetString(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Usernew.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Datenew.ToString())))
            {
                businessObject.Datenew = dataReader.GetDateTime(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Datenew.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Useredit.ToString())))
            {
                businessObject.Useredit = dataReader.GetString(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Useredit.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Dateedit.ToString())))
            {
                businessObject.Dateedit = dataReader.GetDateTime(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Dateedit.ToString()));
            }

            if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Status.ToString())))
            {
                businessObject.Status = dataReader.GetBoolean(dataReader.GetOrdinal(CRecep_sample_report.CRecep_sample_reportFields.Status.ToString()));
            }
        }
        /// <summary>
        /// insert new row in the table
        /// </summary>
        /// <param name="businessObject">business object</param>
        /// <returns>true of successfully insert</returns>
        public bool Insert(CRecep_sample_report businessObject)
        {
            NpgsqlCommand sqlCommand = new NpgsqlCommand();

            sqlCommand.CommandText = "public.sp_recep_sample_report_Insert";
            sqlCommand.CommandType = CommandType.StoredProcedure;

            // Use connection object of base class
            sqlCommand.Connection = MainConnection;

            try
            {
                sqlCommand.Parameters.AddWithValue("p_idrecep_sample_report", businessObject.Idrecep_sample_report);
                sqlCommand.Parameters["p_idrecep_sample_report"].NpgsqlDbType = NpgsqlDbType.Bigint;
                sqlCommand.Parameters["p_idrecep_sample_report"].Direction    = ParameterDirection.InputOutput;

                sqlCommand.Parameters.AddWithValue("p_order_report", businessObject.Order_report);
                sqlCommand.Parameters["p_order_report"].NpgsqlDbType = NpgsqlDbType.Smallint;
                sqlCommand.Parameters.AddWithValue("p_cod_recep_sample_report", businessObject.Cod_recep_sample_report);
                sqlCommand.Parameters["p_cod_recep_sample_report"].NpgsqlDbType = NpgsqlDbType.Bigint;
                sqlCommand.Parameters.AddWithValue("p_report_status", businessObject.Report_status);
                sqlCommand.Parameters["p_report_status"].NpgsqlDbType = NpgsqlDbType.Smallint;
                sqlCommand.Parameters.AddWithValue("p_type_report", businessObject.Type_report);
                sqlCommand.Parameters["p_type_report"].NpgsqlDbType = NpgsqlDbType.Smallint;
                sqlCommand.Parameters.AddWithValue("p_idrecep_sample", businessObject.Idrecep_sample);
                sqlCommand.Parameters["p_idrecep_sample"].NpgsqlDbType = NpgsqlDbType.Bigint;
                sqlCommand.Parameters.AddWithValue("p_flag_rpt_email", businessObject.Flag_rpt_email);
                sqlCommand.Parameters["p_flag_rpt_email"].NpgsqlDbType = NpgsqlDbType.Boolean;
                sqlCommand.Parameters.AddWithValue("p_flag_rpt_print", businessObject.Flag_rpt_print);
                sqlCommand.Parameters["p_flag_rpt_print"].NpgsqlDbType = NpgsqlDbType.Boolean;
                sqlCommand.Parameters.AddWithValue("p_flag_rpt_pdf", businessObject.Flag_rpt_pdf);
                sqlCommand.Parameters["p_flag_rpt_pdf"].NpgsqlDbType = NpgsqlDbType.Boolean;
                sqlCommand.Parameters.AddWithValue("p_date_report", businessObject.Date_report);
                sqlCommand.Parameters["p_date_report"].NpgsqlDbType = NpgsqlDbType.Date;
                sqlCommand.Parameters.AddWithValue("p_time_report", businessObject.Time_report);
                sqlCommand.Parameters["p_time_report"].NpgsqlDbType = NpgsqlDbType.Timestamp;
                sqlCommand.Parameters.AddWithValue("p_usernew", businessObject.Usernew);
                sqlCommand.Parameters["p_usernew"].NpgsqlDbType = NpgsqlDbType.Varchar;
                sqlCommand.Parameters.AddWithValue("p_datenew", businessObject.Datenew);
                sqlCommand.Parameters["p_datenew"].NpgsqlDbType = NpgsqlDbType.Date;
                sqlCommand.Parameters.AddWithValue("p_useredit", businessObject.Useredit);
                sqlCommand.Parameters["p_useredit"].NpgsqlDbType = NpgsqlDbType.Varchar;
                sqlCommand.Parameters.AddWithValue("p_dateedit", businessObject.Dateedit);
                sqlCommand.Parameters["p_dateedit"].NpgsqlDbType = NpgsqlDbType.Date;
                sqlCommand.Parameters.AddWithValue("p_status", businessObject.Status);
                sqlCommand.Parameters["p_status"].NpgsqlDbType = NpgsqlDbType.Boolean;


                MainConnection.Open();

                sqlCommand.ExecuteNonQuery();
                businessObject.Idrecep_sample_report = Convert.ToInt64(sqlCommand.Parameters["p_idrecep_sample_report"].Value);

                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("CRecep_sample_report::Insert::Error occured.", ex);
            }
            finally
            {
                MainConnection.Close();
                sqlCommand.Dispose();
            }
        }
Ejemplo n.º 5
0
        private void repReportOption_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            // --- save partial or final report
            if (e.Button.Index == 0)
            {
                // --- report data
                #region save report

                bool result_report = false;

                CRecep_sample_report oRecep_sample_report = new CRecep_sample_report();
                CRecep_sample_reportFactory faRecep_sample_report = new CRecep_sample_reportFactory();
                Reception oReception = new Reception();

                oRecep_sample_report = faRecep_sample_report.GetByPrimaryKey(
                    new CRecep_sample_reportKeys(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report))));

                short report_status = Convert.ToInt16(gvReport.GetFocusedRowCellValue(gcRep_report_status));

                // si es un reporte en creación poner como reservado
                if (report_status == Convert.ToInt16(Comun.ReportStatus.EnCreacion)) // --- creacion
                {
                    oRecep_sample_report = new CRecep_sample_report();
                    gvReport.SetFocusedRowCellValue(gcRep_report_status, Convert.ToInt16(Comun.ReportStatus.Reportado));
                    oRecep_sample_report.Idrecep_sample = oRecep_sample.Idrecep_sample;
                    oRecep_sample_report.Idrecep_sample_report = Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report));
                    oRecep_sample_report.Order_report = Convert.ToInt16(gvReport.GetFocusedRowCellValue(gcRep_order_report));
                    oRecep_sample_report.Report_status = Convert.ToInt16(Comun.ReportStatus.Reportado);
                    oRecep_sample_report.Type_report = Convert.ToInt16(gvReport.GetFocusedRowCellValue(gcRep_type_report));      // --- 1:parcial, 2:final
                    oRecep_sample_report.Cod_recep_sample_report = oReception.GetNewCodReport(Convert.ToInt16(gvReport.GetFocusedRowCellValue(gcRep_type_report)));
                    oRecep_sample_report.Date_report = DateTime.Now;
                    oRecep_sample_report.Time_report = DateTime.Now;

                    result_report = faRecep_sample_report.Insert(oRecep_sample_report);

                    gvReport.SetFocusedRowCellValue(gcRep_idrecep_sample_report, oRecep_sample_report.Idrecep_sample_report);
                    gvReport.SetFocusedRowCellValue(gcRep_cod_recep_sample_report, oRecep_sample_report.Cod_recep_sample_report);
                    gvReport.SetFocusedRowCellValue(gcRep_Str_cod_recep_sample_report, oReception.GetFormatReportCode(oRecep_sample_report.Type_report, oRecep_sample_report.Cod_recep_sample_report));

                    if (result_report)
                    {
                        // --- create the partial report
                        List<CPositionValue> lstPositionValue = new List<CPositionValue>();

                        foreach (GridCell[] cells in lstItemsSelReport)
                        {
                            foreach (GridCell cell in cells)
                            {
                                CTagInfoMethod tagMethod = (CTagInfoMethod)cell.Column.Tag;

                                int idtemplate_method = tagMethod.IDTemplate_method;
                                long idrecep_sample_detail = Convert.ToInt64(gvReception.GetRowCellValue(cell.RowHandle, gcRec_idrecep_sample_detail));
                                long idrecep_sample_report = oRecep_sample_report.Idrecep_sample_report;

                                CPositionValue position = GetObjectPosition(idrecep_sample_detail, tagMethod.IDTemplate_method);
                                CCells_reportedFactory faCells_reported = new CCells_reportedFactory();
                                CCells_reported oCell_reported = new CCells_reported();

                                oCell_reported.Idtemplate_method = idtemplate_method;
                                oCell_reported.Idrecep_sample_detail = idrecep_sample_detail;
                                oCell_reported.Idrecep_sample_report = idrecep_sample_report;
                                oCell_reported.Idrecep_sample_detail_elem = position.idrecep_sample_detail_elem;

                                bool result_cell_reported = false;

                                if (!(result_cell_reported = faCells_reported.Update(oCell_reported)))
                                    result_cell_reported = faCells_reported.Insert(oCell_reported);

                                if (result_cell_reported)
                                {
                                    position.idrecep_sample_report = idrecep_sample_report;
                                    position.row = cell.RowHandle;
                                    position.col = cell.Column;
                                    position.idcell_reported = oCell_reported.Idcell_reported;
                                    if (oRecep_sample_report.Type_report == 1)
                                        position.color = Partial_report_color;
                                    else
                                        position.color = Final_report_color;

                                    if (!lstPositionValue.Exists(c => c.idrecep_sample_detail_elem == position.idrecep_sample_detail_elem))
                                        lstPositionValue.Add(position);
                                }
                            }
                        }
                        lstItemsSelReport.Clear();
                        DicCellsSavedReport.Add(Convert.ToInt16(oRecep_sample_report.Order_report), lstPositionValue);
                        GetUnreportData(oRecep_sample.Idrecep_sample);
                    }
                }

                #endregion

                lstItemsSelReport.Clear();
                gvReception.Focus();
            }
            else if (e.Button.Index == 1)
            {
                // --- INFORME DE ENSAYO LAS-13-01299
                CReportTestFactory faReportTest = new CReportTestFactory();

                DataTable dtResults = faReportTest.GetReportResults(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));
                DataTable dtHead = faReportTest.GetReportHead(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));
                DataTable dtMethods = faReportTest.GetReportMethods(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));

                oFastReportMethods.AddParameter("Attention", GetContactAttention(oRecep_sample.Idrecep_sample));
                oFastReportMethods.AddParameter("Cod_report", gvReport.GetFocusedRowCellValue(gcRep_Str_cod_recep_sample_report).ToString());
                oFastReportMethods.AddParameter("Date_report", Convert.ToDateTime(gvReport.GetFocusedRowCellValue(gcRep_Date_report)));
                oFastReportMethods.ReportName = "ReportTest.frx";
                oFastReportMethods.RegisterDataTable(dtHead, "Head");
                oFastReportMethods.RegisterDataTable(dtMethods, "Methods");
                oFastReportMethods.RegisterDataTable(dtResults, "Results");

                oFastReportMethods.ShowPreviewReport();
            }
            else if (e.Button.Index == 2)
            {
                CReportTestFactory faReportTest = new CReportTestFactory();
                DataTable dtResults = faReportTest.GetReportResults(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));
                DataTable dtHead = faReportTest.GetReportHead(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));
                DataTable dtMethods = faReportTest.GetReportMethods(Convert.ToInt64(gvReport.GetFocusedRowCellValue(gcRep_idrecep_sample_report)));

                oFastReportMethods.AddParameter("Attention", GetContactAttention(oRecep_sample.Idrecep_sample));
                oFastReportMethods.AddParameter("Cod_report", gvReport.GetFocusedRowCellValue(gcRep_Str_cod_recep_sample_report).ToString());
                oFastReportMethods.AddParameter("Date_report", Convert.ToDateTime(gvReport.GetFocusedRowCellValue(gcRep_Date_report)));
                oFastReportMethods.ReportName = "ReportTest.frx";
                oFastReportMethods.RegisterDataTable(dtHead, "Head");
                oFastReportMethods.RegisterDataTable(dtMethods, "Methods");
                oFastReportMethods.RegisterDataTable(dtResults, "Results");

                oFastReportMethods.DesignReport();
            }
        }