public List <CContact> GetLstContactsByCompany(short idcompany) { // --- get last idrecep_sample if (new CRecep_sampleFactory().GetAll().Exists(c => c.Idcompany == idcompany)) { CRecep_sample oRecep_sample = new CRecep_sampleFactory().GetAll().Where(c => c.Idcompany == idcompany).Last(); // --- retrieve contacts of last record company List <CRecep_company_person> lstRecep_company_person = new CRecep_company_personFactory().GetAll().Where(c => c.Idrecep_sample == oRecep_sample.Idrecep_sample && c.Enabled_show == true).ToList(); List <CPerson> lstPerson = new CPersonFactory().GetAll(); List <CContact> lst = ( from r in lstRecep_company_person join p in lstPerson on r.Idperson equals p.Idperson select new CContact { Idrecep_company_person = 0, Idcompany = r.Idcompany, Idperson = r.Idperson, Allname = p.Allname, Mail = p.Mail, Phone = p.Phone, Cellphone = p.Cellphone, Person_type = r.Person_type }).ToList <CContact>(); return(lst); } return(new List <CContact>()); }
public void SetDisabledContact(long idrecep_sample) { List <CContact> lstContacts = GetLstContactsByRecep(idrecep_sample); CRecep_company_personFactory faRecep_company_person = new CRecep_company_personFactory(); CRecep_company_person oRecep_company_person = new CRecep_company_person(); for (int i = 0; i < lstContacts.Count; i++) { oRecep_company_person = faRecep_company_person.GetByPrimaryKey(new CRecep_company_personKeys(lstContacts[i].Idrecep_company_person)); oRecep_company_person.Enabled_show = false; faRecep_company_person.Update(oRecep_company_person); } }
public List <CContact> GetLstContactsByRecep(long idrecep_sample) { List <CRecep_company_person> lstRecep_company_person = new CRecep_company_personFactory().GetAll().Where(c => c.Idrecep_sample == idrecep_sample && c.Enabled_show == true).ToList(); List <CPerson> lstPerson = new CPersonFactory().GetAll(); List <CContact> lst = ( from r in lstRecep_company_person join p in lstPerson on r.Idperson equals p.Idperson select new CContact { Idrecep_company_person = r.Idrecep_company_person, Idrecep_sample = idrecep_sample, Idcompany = r.Idcompany, Idperson = r.Idperson, Allname = p.Allname, Mail = p.Mail, Phone = p.Phone, Cellphone = p.Cellphone, Person_type = r.Person_type }).ToList <CContact>(); return(lst); }
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; }