public void RetestBatch() { try { CBatchFactory faBatch = new CBatchFactory(); CBatch oBatch = faBatch.GetByPrimaryKey(new CBatchKeys(Idbatch)); // --- check parity for (int i = 0; i < ListSamples.Count; i++) { CBatch_detail_aa_twofold row = ListSamples[i]; CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); if (Convert.ToInt32(row.Flag_mri) == 0) { // --- approved samples with additional retest mark row.Qaqc_has_retest = 1; faBatch_detail_aa_twofold.Update(row); // --- save retest string cod_type_sample = new CTemplate_methodFactory().GetByPrimaryKey(new CTemplate_methodKeys(Convert.ToInt32(row.Idtemplate_method))).Cod_type_sample; CCorrelative oCorrelative = new CCorrelativeFactory().GetByPrimaryKey(new CCorrelativeKeys(cod_type_sample)); CBatchManager oBatchManager = new CBatchManager(); oBatchManager.CallSaveFromRetestFullBatch( Convert.ToInt32(row.Idtemplate_method), Convert.ToInt64(row.Idrecep_sample), Convert.ToInt64(row.Idrecep_sample_detail), Convert.ToInt64(row.Idrecep_sample_detail_elem), Convert.ToInt64(row.Cod_interno), row.Cod_sample, Comun.GetUser(), oCorrelative, row.Qaqc_par); // --- register as finished trace process CProcess_Sample_Manage.Finalize_process(Convert.ToInt64(row.Idrecep_sample_detail_elem), LimsProcess.PROCESS_IN_READING, LimsProcess.PROCESS_APPROVE_SAMPLES); } } // --- modify the batch status, put in other process CProcess oProcess = new CProcessFactory().GetByPrimaryKey(new CProcessKeys(LimsProcess.PROCESS_APPROVE_SAMPLES)); oBatch.Status_process = Convert.ToChar(LimsProcess.Status_Process.Waiting); oBatch.Cod_module = oProcess.Cod_module; oBatch.Cod_area = oProcess.Cod_area; oBatch.Cod_process = LimsProcess.PROCESS_APPROVE_SAMPLES; oBatch.User_approve_tray = Comun.GetUser(); oBatch.Date_approve_tray = Comun.GetDate(); faBatch.Update(oBatch); // --- register as finished trace batch Cprocess_Batch_Manage.Finalize_process(Idbatch, LimsProcess.PROCESS_IN_READING, LimsProcess.PROCESS_APPROVE_SAMPLES); } catch (Exception ex) { Comun.Save_log(ex.InnerException.ToString()); throw new Exception("pivot data::approve::Error occured.", ex); } }
private void paNewTray_DragDrop(object sender, DragEventArgs e) { // --- get object column DevExpress.XtraTreeList.Nodes.TreeListNode nodo = (DevExpress.XtraTreeList.Nodes.TreeListNode)e.Data.GetData(typeof(DevExpress.XtraTreeList.Nodes.TreeListNode)); CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); CBatch_detail_aa_twofold sample = new CBatch_detail_aa_twofoldFactory().GetByPrimaryKey(new CBatch_detail_aa_twofoldKeys(Convert.ToInt64(nodo.GetValue("Idbatch_detail_aa")))); CBatchManager oBatchManager = new CBatchManager(); long idbatch = Convert.ToInt64(oBatchManager.GetNewBatch(Idtemplate_method, Comun.GetUser(), Idbatch)); sample.Idbatch = idbatch; faBatch_detail_aa_twofold.Update(sample); // --- refrescar arbol InitTreeBatch(Comun.StatusWork.Waiting); }
private void ucSignCloseTray_OnSign(bool login) { if (login) { // --- close samples tray CBatch oBatch = new CBatchFactory().GetByPrimaryKey(new CBatchKeys(Idbatch)); oBatch.User_close_tray = Comun.GetUser(); oBatch.Date_close_tray = Comun.GetDate(); if (oBatch != null) { FormMessage fmMessage = new FormMessage(); fmMessage.Title = String.Format("Cerrar Bandeja {0}", Comun.FormatCorrelativeCode("B-", Convert.ToInt64(oBatch.Num_tray), 5)); fmMessage.Message = "Al efectuar esta acción, la bandeja cambia a estado en 'proceso', se bloqueará el ingreso de muestras entrantes. Presione Ok para confirmar."; if (fmMessage.ShowDialog() == System.Windows.Forms.DialogResult.OK) { oBatch.Status_process = 'P'; // --- in process // --- add control sample if not exist if (Convert.ToBoolean(!oBatch.Has_sample_control)) { CBatchManager oBatchManager = new CBatchManager(); oBatchManager.SaveControlSample(Idtemplate_method, Idbatch); // --- retrieve batch detail Show_batch(); } if (new CBatchFactory().Update(oBatch)) { ucSignCloseTray.Enabled = false; ucSignCloseTray.Title = "Cerrado("+oBatch.User_close_tray+")"; } paQaqc2.Enabled = true; bgvBatchCalc2.OptionsBehavior.Editable = false; InitConfigurationAbsStd(); } } } }
private void treeTrayWaiting_AfterDragNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e) { long id_drag = Convert.ToInt64(hi_drag.Node.GetValue("Idbatch_detail_aa")); long id_over = Convert.ToInt64(hi_over.Node.GetValue("Idbatch_detail_aa")); CBatch_detail_aa_twofold oBatch_detail_aa_twofold_drag = new CBatch_detail_aa_twofoldFactory().GetByPrimaryKey(new CBatch_detail_aa_twofoldKeys(id_drag)); CBatch_detail_aa_twofold oBatch_detail_aa_twofold_over = new CBatch_detail_aa_twofoldFactory().GetByPrimaryKey(new CBatch_detail_aa_twofoldKeys(id_over)); //List<CBatch> lstBatch = new CBatchFactory().GetAll().Where(c => Convert.ToChar(c.Status_process) == 'W').ToList(); CBatchManager batch_manager = new CBatchManager(); bool result_interchange = batch_manager.InterchangeSample(oBatch_detail_aa_twofold_drag, oBatch_detail_aa_twofold_over); // --- refrescar arbol InitTreeBatch(Comun.StatusWork.Waiting); // expand parent nodes of drag and drop nodes ExpandBatchNode(Convert.ToInt64(oBatch_detail_aa_twofold_drag.Idbatch)); ExpandBatchNode(Convert.ToInt64(oBatch_detail_aa_twofold_over.Idbatch)); }
public void Review() { try { CBatchFactory faBatch = new CBatchFactory(); CBatch oBatch = faBatch.GetByPrimaryKey(new CBatchKeys(Idbatch)); // --- save trace CRecep_sample_detail_elemFactory faRecep_sample_detail_elem = new CRecep_sample_detail_elemFactory(); for (int i = 0; i < ListSamples.Count; i++) { CBatch_detail_aa_twofold current_row = ListSamples[i]; int status_result = Convert.ToInt32(current_row.Qaqc_status_result); if (Convert.ToInt32(current_row.Flag_mri) == 0) { // --- set how accepted sample // Espera = 0, // Incorrecto = 1, // Plausible = 2, // Aceptado = 3, // IncorrectoPlausible = 4, // Espera reensayos = 5 // --- save only the accept samples long Idrecep_sample_detail_elem = Convert.ToInt64(current_row.Idrecep_sample_detail_elem); if (Convert.ToBoolean(oBatch.Flag_correct_mri) && Convert.ToBoolean(oBatch.Flag_correct_lrb)) { if (status_result == Convert.ToInt32(Comun.Status_result.Plausible)) { current_row.Qaqc_status_result = Convert.ToInt16(Comun.Status_result.Aceptado); } Qaqc oQaqc = new Qaqc(); if (!oQaqc.IsRetest(Idrecep_sample_detail_elem, Idbatch)) { // --- save final element law if (current_row.Qaqc_status_result == Convert.ToInt16(Comun.Status_result.Aceptado)) { CRecep_sample_detail_elem oRecep_sample_detail_elem = faRecep_sample_detail_elem.GetByPrimaryKey(new CRecep_sample_detail_elemKeys(Idrecep_sample_detail_elem)); oRecep_sample_detail_elem.Result_analysis = current_row.Result_analysis; oRecep_sample_detail_elem.Str_result_analysis = current_row.Str_result_analysis.ToString(); oRecep_sample_detail_elem.With_result = true; if (current_row.Str_result_analysis == null) { oRecep_sample_detail_elem.With_result = false; } faRecep_sample_detail_elem.Update(oRecep_sample_detail_elem); } CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); faBatch_detail_aa_twofold.Update(current_row); } else// --- es un reensayo { if (!oQaqc.ExistsResultPendingSel(Idrecep_sample_detail_elem, Idbatch)) { // --- si no está pendiente de seleccionar entre varios análisis // --- save final element law if (current_row.Qaqc_status_result == Convert.ToInt16(Comun.Status_result.Aceptado)) { CRecep_sample_detail_elem oRecep_sample_detail_elem = faRecep_sample_detail_elem.GetByPrimaryKey(new CRecep_sample_detail_elemKeys(Idrecep_sample_detail_elem)); oRecep_sample_detail_elem.Result_analysis = current_row.Result_analysis; oRecep_sample_detail_elem.Str_result_analysis = current_row.Str_result_analysis.ToString(); oRecep_sample_detail_elem.With_result = true; if (current_row.Str_result_analysis == null) { oRecep_sample_detail_elem.With_result = false; } faRecep_sample_detail_elem.Update(oRecep_sample_detail_elem); } CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); faBatch_detail_aa_twofold.Update(current_row); } } // --- save retest if (current_row.Qaqc_tmp_retest == 1) { string cod_type_sample = new CTemplate_methodFactory().GetByPrimaryKey(new CTemplate_methodKeys(Convert.ToInt32(current_row.Idtemplate_method))).Cod_type_sample; CCorrelative oCorrelative = new CCorrelativeFactory().GetByPrimaryKey(new CCorrelativeKeys(cod_type_sample)); CBatchManager oBatchManager = new CBatchManager(); oBatchManager.CallSaveSampleBatchWithRetest( Convert.ToInt32(current_row.Idtemplate_method), Convert.ToInt64(current_row.Idrecep_sample), Convert.ToInt64(current_row.Idrecep_sample_detail), Convert.ToInt64(current_row.Idrecep_sample_detail_elem), Convert.ToInt64(current_row.Cod_interno), current_row.Cod_sample, Comun.GetUser(), oCorrelative, Convert.ToInt32(current_row.Qaqc_par), Idbatch); } // --- register as finished trace process CProcess_Sample_Manage.Finalize_process(Idrecep_sample_detail_elem, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } else { // --- the samples pertain to batch with full batch retest CProcess_Sample_Manage.Finalize_process(Idrecep_sample_detail_elem, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } } } // --- modify the batch status, put in other process CProcess oProcess = new CProcessFactory().GetByPrimaryKey(new CProcessKeys(LimsProcess.PROCESS_ACCEPT_RESULTS)); oBatch.Status_process = Convert.ToChar(LimsProcess.Status_Process.Waiting); oBatch.Cod_module = oProcess.Cod_module; oBatch.Cod_area = oProcess.Cod_area; oBatch.Cod_process = LimsProcess.PROCESS_ACCEPT_RESULTS; oBatch.User_review_tray = Comun.GetUser(); oBatch.Date_review_tray = Comun.GetDate(); faBatch.Update(oBatch); // --- register as finished trace batch Cprocess_Batch_Manage.Finalize_process(Idbatch, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } catch (Exception ex) { Comun.Save_log(ex.InnerException.ToString()); throw new Exception("pivot data::approve::Error occured.", ex); } }
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; }
public void Review() { try { CBatchFactory faBatch = new CBatchFactory(); CBatch oBatch = faBatch.GetByPrimaryKey(new CBatchKeys(Idbatch)); // --- save trace CRecep_sample_detail_elemFactory faRecep_sample_detail_elem = new CRecep_sample_detail_elemFactory(); for (int i = 0; i < ListSamples.Count; i++) { CBatch_detail_aa_twofold current_row = ListSamples[i]; int status_result = Convert.ToInt32(current_row.Qaqc_status_result); if (Convert.ToInt32(current_row.Flag_mri) == 0) { // --- set how accepted sample // Espera = 0, // Incorrecto = 1, // Plausible = 2, // Aceptado = 3, // IncorrectoPlausible = 4, // Espera reensayos = 5 // --- save only the accept samples long Idrecep_sample_detail_elem = Convert.ToInt64(current_row.Idrecep_sample_detail_elem); if (Convert.ToBoolean(oBatch.Flag_correct_mri) && Convert.ToBoolean(oBatch.Flag_correct_lrb)) { if (status_result == Convert.ToInt32(Comun.Status_result.Plausible)) current_row.Qaqc_status_result = Convert.ToInt16(Comun.Status_result.Aceptado); Qaqc oQaqc = new Qaqc(); if (!oQaqc.IsRetest(Idrecep_sample_detail_elem, Idbatch)) { // --- save final element law if (current_row.Qaqc_status_result == Convert.ToInt16(Comun.Status_result.Aceptado)) { CRecep_sample_detail_elem oRecep_sample_detail_elem = faRecep_sample_detail_elem.GetByPrimaryKey(new CRecep_sample_detail_elemKeys(Idrecep_sample_detail_elem)); oRecep_sample_detail_elem.Result_analysis = current_row.Result_analysis; oRecep_sample_detail_elem.Str_result_analysis = current_row.Str_result_analysis.ToString(); oRecep_sample_detail_elem.With_result = true; if (current_row.Str_result_analysis == null) oRecep_sample_detail_elem.With_result = false; faRecep_sample_detail_elem.Update(oRecep_sample_detail_elem); } CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); faBatch_detail_aa_twofold.Update(current_row); } else// --- es un reensayo { if (!oQaqc.ExistsResultPendingSel(Idrecep_sample_detail_elem, Idbatch)) { // --- si no está pendiente de seleccionar entre varios análisis // --- save final element law if (current_row.Qaqc_status_result == Convert.ToInt16(Comun.Status_result.Aceptado)) { CRecep_sample_detail_elem oRecep_sample_detail_elem = faRecep_sample_detail_elem.GetByPrimaryKey(new CRecep_sample_detail_elemKeys(Idrecep_sample_detail_elem)); oRecep_sample_detail_elem.Result_analysis = current_row.Result_analysis; oRecep_sample_detail_elem.Str_result_analysis = current_row.Str_result_analysis.ToString(); oRecep_sample_detail_elem.With_result = true; if (current_row.Str_result_analysis == null) oRecep_sample_detail_elem.With_result = false; faRecep_sample_detail_elem.Update(oRecep_sample_detail_elem); } CBatch_detail_aa_twofoldFactory faBatch_detail_aa_twofold = new CBatch_detail_aa_twofoldFactory(); faBatch_detail_aa_twofold.Update(current_row); } } // --- save retest if (current_row.Qaqc_tmp_retest == 1) { string cod_type_sample = new CTemplate_methodFactory().GetByPrimaryKey(new CTemplate_methodKeys(Convert.ToInt32(current_row.Idtemplate_method))).Cod_type_sample; CCorrelative oCorrelative = new CCorrelativeFactory().GetByPrimaryKey(new CCorrelativeKeys(cod_type_sample)); CBatchManager oBatchManager = new CBatchManager(); oBatchManager.CallSaveSampleBatchWithRetest( Convert.ToInt32(current_row.Idtemplate_method), Convert.ToInt64(current_row.Idrecep_sample), Convert.ToInt64(current_row.Idrecep_sample_detail), Convert.ToInt64(current_row.Idrecep_sample_detail_elem), Convert.ToInt64(current_row.Cod_interno), current_row.Cod_sample, Comun.GetUser(), oCorrelative, Convert.ToInt32(current_row.Qaqc_par), Idbatch); } // --- register as finished trace process CProcess_Sample_Manage.Finalize_process(Idrecep_sample_detail_elem, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } else { // --- the samples pertain to batch with full batch retest CProcess_Sample_Manage.Finalize_process(Idrecep_sample_detail_elem, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } } } // --- modify the batch status, put in other process CProcess oProcess = new CProcessFactory().GetByPrimaryKey(new CProcessKeys(LimsProcess.PROCESS_ACCEPT_RESULTS)); oBatch.Status_process = Convert.ToChar(LimsProcess.Status_Process.Waiting); oBatch.Cod_module = oProcess.Cod_module; oBatch.Cod_area = oProcess.Cod_area; oBatch.Cod_process = LimsProcess.PROCESS_ACCEPT_RESULTS; oBatch.User_review_tray = Comun.GetUser(); oBatch.Date_review_tray = Comun.GetDate(); faBatch.Update(oBatch); // --- register as finished trace batch Cprocess_Batch_Manage.Finalize_process(Idbatch, LimsProcess.PROCESS_APPROVE_SAMPLES, LimsProcess.PROCESS_ACCEPT_RESULTS); } catch (Exception ex) { Comun.Save_log(ex.InnerException.ToString()); throw new Exception("pivot data::approve::Error occured.", ex); } }