public void LineaParteClick(object sender, EventArgs e) { if (!grid.IsSelected()) { return; } tblLineasPartesFinca linea_actual = null; Treball treball = null; UnitatMetrica unitat = null; Personal personal = null; Maquina maquina = null; Adob adob = null; string[] str = grid.GetSelectedRow(); int id = int.Parse(str[3]); List <tblLineasPartesFinca> lineas = propietaris_manager.GetLineasPerParteId(propietaris_manager.parte_actual.idParte); for (int i = 0; i < lineas.Count; i++) { if (lineas[i].idLinea == id) { linea_actual = lineas[i]; break; } } if (linea_actual == null) { return; } for (int y = 0; y < partes_linea_per_afegir.Count; y++) { if (partes_linea_per_afegir[y].idLinea == linea_actual.idLinea) { linea_actual = partes_linea_per_afegir[y]; break; } } treball = propietaris_manager.GetTreballPerTreballId(linea_actual.idFamiliaCoste); if (linea_actual.idUnitatMetrica != null) { unitat = propietaris_manager.GetUnitatMetricaPerId((int)linea_actual.idUnitatMetrica); } if (treball == null) { return; } personal = propietaris_manager.GetPersonalPerId(linea_actual.idAplicador.ToString()); maquina = propietaris_manager.GetMaquinaPerId(linea_actual.idMaquinaria.ToString()); adob = propietaris_manager.GetAdobPerId(linea_actual.idProduteFito.ToString()); treballs_combobox.SetSelectedElement(treball.GetTbl().Descripcio); data_dataselect.SetDate((DateTime)propietaris_manager.parte_actual.Fecha); descripcio_text_input.SetText(linea_actual.Descripcion); unitats_text_input.SetText(linea_actual.Unidades.ToString()); fertirrigacio_checkbox.SetSelected((bool)linea_actual.FertirrigacioSiNo); if (adob != null) { adob_combobox.SetSelectedElement(adob.ToString()); } else { adob_combobox.CleanSelection(); } if (personal != null) { personal_combobox.SetSelectedElement(personal.ToString()); } else { personal_combobox.CleanSelection(); } if (maquina != null) { maquinaria_combobox.SetSelectedElement(maquina.ToString()); } else { maquinaria_combobox.CleanSelection(); } if (unitat != null) { unitats_mesura_combobox.SetSelectedElement(unitat.ToString()); } else { unitats_mesura_combobox.CleanSelection(); } eficacia_combobox.SetSelectedElement(linea_actual.EficaciaTractament.ToString()); propietaris_manager.parte_linea_actual = linea_actual; }
public void ModificaParteSeleccionat(object sender, EventArgs e) { decimal test; if (!grid.IsSelected() || !treballs_combobox.IsSelected() || propietaris_manager.parte_linea_actual == null || !decimal.TryParse(unitats_text_input.GetText(), out test)) { return; } Treball treball = treballs_combobox.GetSelected() as Treball; UnitatMetrica unitat = unitats_mesura_combobox.GetSelected() as UnitatMetrica; Maquina maquina = maquinaria_combobox.GetSelected() as Maquina; Personal personal = personal_combobox.GetSelected() as Personal; Adob adob = adob_combobox.GetSelected() as Adob; tblLineasPartesFinca nova_linea = new tblLineasPartesFinca(); nova_linea.CodigoEmpresa = propietaris_manager.parte_linea_actual.CodigoEmpresa; nova_linea.idFamiliaCoste = propietaris_manager.parte_linea_actual.idFamiliaCoste; nova_linea.idLinea = propietaris_manager.parte_linea_actual.idLinea; nova_linea.idParcela = propietaris_manager.parte_linea_actual.idParcela; nova_linea.idParte = propietaris_manager.parte_linea_actual.idParte; nova_linea.Observaciones = propietaris_manager.parte_linea_actual.Observaciones; nova_linea.Precio = propietaris_manager.parte_linea_actual.Precio; nova_linea.Total = propietaris_manager.parte_linea_actual.Total; nova_linea.Descripcion = descripcio_text_input.GetText(); nova_linea.idFamiliaCoste = treball.GetTbl().idCost; nova_linea.Unidades = decimal.Parse(unitats_text_input.GetText()); nova_linea.FertirrigacioSiNo = fertirrigacio_checkbox.IsSelected(); if (maquinaria_combobox.IsSelected()) { nova_linea.idMaquinaria = int.Parse(maquina.GetTbl().id); } if (personal_combobox.IsSelected()) { nova_linea.idAplicador = int.Parse(personal.GetTbl().id); } if (eficacia_combobox.IsSelected()) { nova_linea.EficaciaTractament = int.Parse((string)eficacia_combobox.GetSelected()); } if (unitat != null) { nova_linea.idUnitatMetrica = unitat.GetTbl().id; } if (adob != null) { nova_linea.idProduteFito = adob.GetTbl().id; } // Comprova que aquesta linea no ha sigut ja modificata i actualitza for (int y = 0; y < partes_linea_per_afegir.Count; y++) { if (partes_linea_per_afegir[y].idLinea == nova_linea.idLinea) { partes_linea_per_afegir.RemoveAt(y); break; } } partes_linea_per_eliminar.Add(propietaris_manager.parte_linea_actual); partes_linea_per_afegir.Add(nova_linea); propietaris_manager.parte_linea_actual = nova_linea; Parcela parcela = propietaris_manager.GetParcelaPerParcelaID(nova_linea.idParcela.ToString()); tblPartesFinca parte = propietaris_manager.GetPartePerParteId(nova_linea.idParte); grid.ModifyRow(grid.GetSelectedRowIndex(), treball, nova_linea.Descripcion, nova_linea.Unidades.ToString(), nova_linea.idLinea.ToString(), unitat, parte.Estat, parcela.GetTbl().idParcelaVinicola, parcela.GetTbl().Ha, (bool)nova_linea.FertirrigacioSiNo ? "Si" : "No", nova_linea.EficaciaTractament, personal, maquina, adob); }