/// <summary> /// Populate business objects from the data reader /// </summary> /// <param name="dataReader">data reader</param> /// <returns>list of CRecep_elem</returns> internal List <CRecep_elem> PopulateObjectsFromReader(IDataReader dataReader) { List <CRecep_elem> list = new List <CRecep_elem>(); while (dataReader.Read()) { CRecep_elem businessObject = new CRecep_elem(); PopulateBusinessObjectFromReader(businessObject, dataReader); list.Add(businessObject); } return(list); }
/// <summary> /// insert new row in the table /// </summary> /// <param name="businessObject">business object</param> /// <returns>true of successfully insert</returns> public bool Insert(CRecep_elem businessObject) { NpgsqlCommand sqlCommand = new NpgsqlCommand(); sqlCommand.CommandText = "public.sp_recep_elem_Insert"; sqlCommand.CommandType = CommandType.StoredProcedure; // Use connection object of base class sqlCommand.Connection = MainConnection; try { sqlCommand.Parameters.AddWithValue("p_idrecep_elem", businessObject.Idrecep_elem); sqlCommand.Parameters["p_idrecep_elem"].NpgsqlDbType = NpgsqlDbType.Bigint; sqlCommand.Parameters["p_idrecep_elem"].Direction = ParameterDirection.InputOutput; sqlCommand.Parameters.AddWithValue("p_idelement", businessObject.Idelement); sqlCommand.Parameters["p_idelement"].NpgsqlDbType = NpgsqlDbType.Smallint; sqlCommand.Parameters.AddWithValue("p_idtemplate_method", businessObject.Idtemplate_method); sqlCommand.Parameters["p_idtemplate_method"].NpgsqlDbType = NpgsqlDbType.Integer; sqlCommand.Parameters.AddWithValue("p_idunit", businessObject.Idunit); sqlCommand.Parameters["p_idunit"].NpgsqlDbType = NpgsqlDbType.Smallint; sqlCommand.Parameters.AddWithValue("p_abbreviation", businessObject.Abbreviation); sqlCommand.Parameters["p_abbreviation"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_name_unit", businessObject.Name_unit); sqlCommand.Parameters["p_name_unit"].NpgsqlDbType = NpgsqlDbType.Varchar; sqlCommand.Parameters.AddWithValue("p_percent_repetition", businessObject.Percent_repetition); sqlCommand.Parameters["p_percent_repetition"].NpgsqlDbType = NpgsqlDbType.Smallint; sqlCommand.Parameters.AddWithValue("p_idrecep_sample", businessObject.Idrecep_sample); sqlCommand.Parameters["p_idrecep_sample"].NpgsqlDbType = NpgsqlDbType.Bigint; MainConnection.Open(); sqlCommand.ExecuteNonQuery(); businessObject.Idrecep_elem = Convert.ToInt64(sqlCommand.Parameters["p_idrecep_elem"].Value); return(true); } catch (Exception ex) { throw new Exception("CRecep_elem::Insert::Error occured.", ex); } finally { MainConnection.Close(); sqlCommand.Dispose(); } }
/// <summary> /// Select by primary key /// </summary> /// <param name="keys">primary keys</param> /// <returns>CRecep_elem business object</returns> public CRecep_elem SelectByPrimaryKey(CRecep_elemKeys keys) { NpgsqlCommand sqlCommand = new NpgsqlCommand(); sqlCommand.CommandText = "public.sp_recep_elem_SelectByPrimaryKey"; sqlCommand.CommandType = CommandType.StoredProcedure; // Use connection object of base class sqlCommand.Connection = MainConnection; try { sqlCommand.Parameters.Add(new NpgsqlParameter("p_idrecep_elem", NpgsqlDbType.Bigint, 8, "", ParameterDirection.Input, false, 0, 0, DataRowVersion.Proposed, keys.Idrecep_elem)); MainConnection.Open(); NpgsqlDataReader dataReader = sqlCommand.ExecuteReader(); if (dataReader.Read()) { CRecep_elem businessObject = new CRecep_elem(); PopulateBusinessObjectFromReader(businessObject, dataReader); return(businessObject); } else { return(null); } } catch (Exception ex) { throw new Exception("CRecep_elem::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_elem businessObject, IDataReader dataReader) { businessObject.Idrecep_elem = dataReader.GetInt64(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idrecep_elem.ToString())); if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idelement.ToString()))) { businessObject.Idelement = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idelement.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idtemplate_method.ToString()))) { businessObject.Idtemplate_method = dataReader.GetInt32(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idtemplate_method.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idunit.ToString()))) { businessObject.Idunit = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idunit.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Abbreviation.ToString()))) { businessObject.Abbreviation = dataReader.GetString(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Abbreviation.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Name_unit.ToString()))) { businessObject.Name_unit = dataReader.GetString(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Name_unit.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Percent_repetition.ToString()))) { businessObject.Percent_repetition = (short?)dataReader.GetInt16(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Percent_repetition.ToString())); } if (!dataReader.IsDBNull(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idrecep_sample.ToString()))) { businessObject.Idrecep_sample = dataReader.GetInt64(dataReader.GetOrdinal(CRecep_elem.CRecep_elemFields.Idrecep_sample.ToString())); } }
bool SaveRegisterReception() { bool result = false; object obj = deHourReception.EditValue; try { #region save head if (oRecep_sample == null) oRecep_sample = new CRecep_sample(); else { if (loadData == LoadData.FromRR_ToExtendRR) oRecep_sample.Idrecep_sample = 0; } CPersonFactory faPerson = new CPersonFactory(); Reception oReception = new BusinessLayer.Modules.Reception(); // --- save company bool result_company = false; CCompany oCompany = new CCompany(); if (cbCompany.EditValue != null) { CCorr_modulesFactory faCorr_modules = new CCorr_modulesFactory(); CCompanyFactory faCompany = new CCompanyFactory(); oCompany.Idcompany = Convert.ToInt16(cbCompany.EditValue); //oCompany.Cod_company = faCorr_modules.GetCorrModule(Comun.Formulario.fmEmpresa.ToString()); oCompany.Ruc = tbClientRuc.Text; oCompany.Business_name = cbCompany.Text; oCompany.Domicile = tbClientDomicile.Text; oCompany.Type_company = 'C'; // --- client oCompany.Phone_client = tbClientPhone.Text; if (!(result_company = faCompany.Update(oCompany))) result_company = faCompany.Insert(oCompany); } // --- save head if (!result_company) { ComunForm.Send_message(this.Text, TypeMsg.error, "Error al guardar cliente, no se pudo completar la operación."); return false; } bool result_recep_sample = false; oReception.GetNewCodReception(); oRecep_sample.Cod_recep_sample = oReception.GetFormatCodReception(); oRecep_sample.Idcompany = oCompany.Idcompany; oRecep_sample.Date_reception = deReception.DateTime; DateTime Hour_reception = Convert.ToDateTime(deHourReception.EditValue); oRecep_sample.Date_reception = new DateTime( deReception.DateTime.Year, deReception.DateTime.Month, deReception.DateTime.Day, Hour_reception.Hour, Hour_reception.Minute, Hour_reception.Second); DateTime Hour_result = Convert.ToDateTime(deHourResult.EditValue); oRecep_sample.Date_result = new DateTime( deResult.DateTime.Year, deResult.DateTime.Month, deResult.DateTime.Day, Hour_result.Hour, Hour_result.Minute, Hour_result.Second); oRecep_sample.Cod_type_sample = cbTypeSample.EditValue.ToString(); oRecep_sample.Total_amount = Convert.ToDecimal(tbSubTotalAmount.Text); oRecep_sample.Total_igv = Convert.ToDecimal(tbTotalIgv.Text); oRecep_sample.Total_amount_igv = Convert.ToDecimal(tbTotalAmount.Text); oRecep_sample.Amortization = Convert.ToDecimal(tbAmortization.Text); oRecep_sample.Flag_isprice = false; //oRecep_sample.Discount = ckDiscount.Checked == true ? tbDiscount.Value : 0; if (oRecep_sample.Idrecep_sample == 0) { oRecep_sample.Usernew = Comun.GetUser(); oRecep_sample.Datenew = Comun.GetDate(); } oRecep_sample.Useredit = Comun.GetUser(); oRecep_sample.Dateedit = Comun.GetDate(); if (!(result_recep_sample = faRecep_sample.Update(oRecep_sample))) result_recep_sample = faRecep_sample.Insert(oRecep_sample); if (!result_recep_sample) { ComunForm.Send_message(this.Text, TypeMsg.error, "Error al guardar datos en recepción, no se pudo completar la operación."); return false; } #endregion #region update price if (result_recep_sample && oPrice_version != null && oPrice_version.Idprice_version > 0) { oPrice_version.Status_price = 4; faPrice_version.Update(oPrice_version); } #endregion #region save detail // --- contacts and detail if (result_recep_sample) { // --- save contacts CPerson oContact = new CPerson(); CRecep_company_person oRecep_company_person = new CRecep_company_person(); CRecep_company_personFactory faRecep_company_person = new CRecep_company_personFactory(); // --- delete all tbCod_recep_sample.Text = oReception.GetFormatCodReception(); oReception.SetDisabledContact(oRecep_sample.Idrecep_sample); for (int i = 0; i < gvContact.RowCount; i++) { oContact.Idperson = Convert.ToInt16(gvContact.GetRowCellValue(i, gcCon_Idperson)); oContact.Phone = gvContact.GetRowCellValue(i, gcCon_Phone).ToString(); oContact.Cellphone = gvContact.GetRowCellValue(i, gcCon_Cellphone).ToString(); oContact.Mail = gvContact.GetRowCellValue(i, gcCon_Mail).ToString(); oContact.Allname = gvContact.GetRowCellValue(i, gcCon_Allname).ToString(); bool result_contact = false; if (!(result_contact = faPerson.Update(oContact))) result_contact = faPerson.Insert(oContact); if (result_contact) { oRecep_company_person = new CRecep_company_person(); oRecep_company_person.Idrecep_company_person = 0; oRecep_company_person.Idcompany = oCompany.Idcompany; oRecep_company_person.Idrecep_sample = oRecep_sample.Idrecep_sample; oRecep_company_person.Idperson = oContact.Idperson; oRecep_company_person.Person_type = Convert.ToInt16(gvContact.GetRowCellValue(i, gcCon_Person_type)); oRecep_company_person.Enabled_show = true; if (!faRecep_company_person.Update(oRecep_company_person)) faRecep_company_person.Insert(oRecep_company_person); } } // --- save dispatch CRecep_sample_dispatchFactory faRecep_sample_dispatch = new CRecep_sample_dispatchFactory(); CRecep_sample_dispatch oRecep_sample_dispatch = new CRecep_sample_dispatch(); oRecep_sample_dispatch.Idrecep_sample = oRecep_sample.Idrecep_sample; // --- person if (ckDispatchPerson.Checked) oRecep_sample_dispatch.Dispatch_person = 1; else oRecep_sample_dispatch.Dispatch_person = 0; // --- curier if (ckDispatchCurier.Checked) oRecep_sample_dispatch.Dispatch_curier = 1; else oRecep_sample_dispatch.Dispatch_curier = 0; // --- transport if (ckDispatchTransport.Checked) oRecep_sample_dispatch.Dispatch_transport = 1; else oRecep_sample_dispatch.Dispatch_transport = 0; // --- fax if (ckDispatchFax.Checked) oRecep_sample_dispatch.Dispatch_fax = 1; else oRecep_sample_dispatch.Dispatch_fax = 0; // --- save if (!faRecep_sample_dispatch.Update(oRecep_sample_dispatch)) faRecep_sample_dispatch.Insert(oRecep_sample_dispatch); // --------------------------------------------------------------------------- // --- save detail ----------------------------------------------------------- // --------------------------------------------------------------------------- CRecep_sample_detail oRecep_sample_detail = new CRecep_sample_detail(); CRecep_sample_detailFactory faRecep_sample_detail = new CRecep_sample_detailFactory(); CRecep_elem oRecep_elem = new CRecep_elem(); CRecep_elemFactory faRecep_elem = new CRecep_elemFactory(); CRecep_sample_detail_elem oRecep_sample_detail_elem = new CRecep_sample_detail_elem(); CRecep_sample_detail_elemFactory faRecep_sample_detail_elem = new CRecep_sample_detail_elemFactory(); CCorrelative oCorrelative = new CCorrelativeFactory().GetByPrimaryKey(new CCorrelativeKeys(oRecep_sample.Cod_type_sample)); if (oRecep_sample.Idrecep_sample > 0) { int i = 0; while (i < gvReception.RowCount) { oRecep_sample_detail = new CRecep_sample_detail(); oRecep_sample_detail.Idrecep_sample = oRecep_sample.Idrecep_sample; //if (gvReception.GetRowCellValue(i, gcRec_idrecep_sample_detail) != DBNull.Value) //oRecep_sample_detail.Idrecep_sample_detail = Convert.ToInt64(gvReception.GetRowCellValue(i, gcRec_idrecep_sample_detail)); oRecep_sample_detail.Idrecep_sample_detail = 0; oRecep_sample_detail.Order_sample = Convert.ToInt16(gvReception.GetRowCellValue(i, gcRec_OrderSample)); oRecep_sample_detail.Name_sample = gvReception.GetRowCellValue(i, gcRec_NameSample).ToString(); oRecep_sample_detail.Procedence = gvReception.GetRowCellValue(i, gcRec_Procedence).ToString(); oRecep_sample_detail.Cod_des_sample = gvReception.GetRowCellValue(i, gcRec_Description).ToString(); oRecep_sample_detail.Cod_type_sample = gvReception.GetRowCellValue(i, gcRec_Type_Sample).ToString(); oRecep_sample_detail.Cod_sample = gvReception.GetRowCellValue(i, gcRec_Code).ToString(); oRecep_sample_detail.Amount_weight = Convert.ToDecimal(gvReception.GetRowCellValue(i, gcRec_CantKg)); oRecep_sample_detail.Cost_sample = Convert.ToDecimal(gvReception.GetRowCellValue(i, gcRec_Cost)); oRecep_sample_detail.Flag_envelope_sealed = Convert.ToBoolean(gvReception.GetRowCellValue(i, gcRec_Flag_envelope_sealed)); oRecep_sample_detail.Flag_reject = Convert.ToBoolean(gvReception.GetRowCellValue(i, gcRec_Reject)); oRecep_sample_detail.Flag_counter_sample = Convert.ToInt16(gvReception.GetRowCellValue(i, gcRec_Counter_Sample)); oRecep_sample_detail.Analisys_time = Convert.ToInt16(gvReception.GetRowCellValue(i, gcRec_Days)); bool result_detail_elem = false; bool result_recep_sample_detail = false; if (!(result_recep_sample_detail = faRecep_sample_detail.Update(oRecep_sample_detail))) result_recep_sample_detail = faRecep_sample_detail.Insert(oRecep_sample_detail); if (result_recep_sample_detail) { if (FlagRegRecepCopy) { oRecep_sample_detail.Cod_interno = Convert.ToInt64(gvReception.GetRowCellValue(i, gcRec_Cod_interno)); oRecep_sample_detail.Cod_sample = gvReception.GetRowCellValue(i, gcRec_Code).ToString(); oRecep_sample_detail.Flag_control_sample = false; } else { // assign correlative code long Cod_interno = oReception.GetNewCodInternoSample(gvReception.GetRowCellValue(i, gcRec_Type_Sample).ToString()); string Format_cod_interno = oReception.GetFormatCodInternoSample(gvReception.GetRowCellValue(i, gcRec_Type_Sample).ToString()); oRecep_sample_detail.Cod_interno = Cod_interno; oRecep_sample_detail.Cod_sample = Format_cod_interno; oRecep_sample_detail.Flag_control_sample = false; } faRecep_sample_detail.Update(oRecep_sample_detail); #region save element cell repetition CRecep_sample_detail oRecep_sample_aux = faRecep_sample_detail.GetByPrimaryKey(new CRecep_sample_detailKeys(oRecep_sample_detail.Idrecep_sample_detail)); CSettings oSettings = new CSettings(); bool HasHumidityAnalysis = false; bool Has60GradesElement = false; // --- retrieve code sample and assign if (!Convert.ToBoolean(oRecep_sample_detail.Flag_control_sample)) gvReception.SetRowCellValue(i, gcRec_Code, oRecep_sample_aux.Cod_sample); // --- save element cell foreach (KeyValuePair<DevExpress.XtraGrid.Columns.GridColumn, bool> kvp in DicShowColumns) { if (kvp.Value) { bool value_check = Convert.ToBoolean(gvReception.GetRowCellValue(i, kvp.Key)); bool flag_control_sample = Convert.ToBoolean(oRecep_sample_detail.Flag_control_sample); if ((!flag_control_sample && value_check) || flag_control_sample) { oRecep_sample_detail_elem = new CRecep_sample_detail_elem(); CTagInfoMethod tagMethod = (CTagInfoMethod)kvp.Key.Tag; oRecep_sample_detail_elem.Idelement = tagMethod.IDElement; oRecep_sample_detail_elem.Idrecep_sample = oRecep_sample.Idrecep_sample; oRecep_sample_detail_elem.Idrecep_sample_detail = oRecep_sample_detail.Idrecep_sample_detail; oRecep_sample_detail_elem.Idtemplate_method = tagMethod.IDTemplate_method; oRecep_sample_detail_elem.Idcompany = oRecep_sample.Idcompany; oRecep_sample_detail_elem.Idunit = tagMethod.IDMeasurement_Unit; oRecep_sample_detail_elem.Cost_method = tagMethod.Cost_Method; if (!(result_detail_elem = faRecep_sample_detail_elem.Update(oRecep_sample_detail_elem))) result_detail_elem = faRecep_sample_detail_elem.Insert(oRecep_sample_detail_elem); if (result_detail_elem) { // crear bandejas CBatchManager oBatchManager = new CBatchManager(); oBatchManager.CallSaveSampleBatch( Convert.ToInt32(oRecep_sample_detail_elem.Idtemplate_method), Convert.ToInt64(oRecep_sample_detail_elem.Idrecep_sample), Convert.ToInt64(oRecep_sample_detail_elem.Idrecep_sample_detail), oRecep_sample_detail_elem.Idrecep_sample_detail_elem, Convert.ToInt64(oRecep_sample_detail.Cod_interno), oRecep_sample_detail.Cod_sample, Comun.GetUser(), oCorrelative); // enviar a preparación de muestras } //verificar si tiene análisis por humedad if (oSettings.GetIdHumidityAnalysis().Contains(tagMethod.IDElement.ToString())) HasHumidityAnalysis = true; //verificar si tiene que elementos para ser analizados a 60° if (oSettings.GetIDElements60Grades().Contains(tagMethod.IDElement.ToString())) Has60GradesElement = true; } } } #endregion #region save sample preparation CPrep_samples oPrep_samples = new CPrep_samples(); oPrep_samples.Idrecep_sample_detail = oRecep_sample_detail.Idrecep_sample_detail; oPrep_samples.Flag_counter_sample = oRecep_sample_detail.Flag_counter_sample; oPrep_samples.Flag_reject = oRecep_sample_detail.Flag_reject; oPrep_samples.Flag_humidity_analysis = HasHumidityAnalysis; oPrep_samples.Flag_60celsius = Has60GradesElement; oPrep_samples.Date_creation = Comun.GetDate(); oPrep_samples.Moisture_reject = false; oPrep_samples.Final_moisture = 0; oPrep_samples.Final_reject = 0; oPrep_samples.Final_sample_prepared = 0; oPrep_samples.Final_weight_gross = 0; oPrep_samples.Output_flag_sample = false; oPrep_samples.Output_flag_cs = false; oPrep_samples.Output_flag_re = false; CPrep_samplesFactory faPrep_samples = new CPrep_samplesFactory(); if (!faPrep_samples.Update(oPrep_samples)) faPrep_samples.Insert(oPrep_samples); #endregion } if (!Convert.ToBoolean(oRecep_sample_detail.Flag_control_sample)) i++; } } #region save tag infor method // --- save tag info method (mr or blk) foreach (KeyValuePair<DevExpress.XtraGrid.Columns.GridColumn, bool> kvp in DicShowColumns) { if (kvp.Value) { CTagInfoMethod tagMethod = (CTagInfoMethod)kvp.Key.Tag; oRecep_elem = new CRecep_elem(); oRecep_elem.Idelement = tagMethod.IDElement; oRecep_elem.Idrecep_sample = oRecep_sample.Idrecep_sample; oRecep_elem.Idtemplate_method = tagMethod.IDTemplate_method; oRecep_elem.Name_unit = tagMethod.Name_Measurement_Unit; oRecep_elem.Idunit = tagMethod.IDMeasurement_Unit; oRecep_elem.Percent_repetition = tagMethod.Percent_repetition; if (!faRecep_elem.Update(oRecep_elem)) faRecep_elem.Insert(oRecep_elem); } } #endregion } #endregion result = true; } catch (Exception ex) { Comun.Save_log(ex.Message); if (ex.InnerException != null) Comun.Save_log(ex.InnerException.ToString()); return false; } return result; }