Exemplo n.º 1
0
        public void ActualitzaLlistaPartesLlista()
        {
            grid.Clear();

            if (propietaris_manager.parte_actual == null)
            {
                return;
            }

            List <tblLineasPartesFinca> lineas = propietaris_manager.GetLineasPerParteId(propietaris_manager.parte_actual.idParte);

            List <Parcela> parceles = propietaris_manager.GetParcelesSeleccionades();

            for (int i = 0; i < lineas.Count; i++)
            {
                Parcela parcela = null;
                for (int p = 0; p < parceles.Count; p++)
                {
                    if (parceles[p].GetTbl().idParcela == lineas[i].idParcela)
                    {
                        parcela = parceles[p];
                    }
                }

                if (parcela == null)
                {
                    continue;
                }

                Treball        treball  = propietaris_manager.GetTreballPerTreballId(lineas[i].idFamiliaCoste);
                tblPartesFinca parte    = propietaris_manager.GetPartePerParteId(propietaris_manager.parte_actual.idParte);
                Personal       personal = propietaris_manager.GetPersonalPerId(lineas[i].idAplicador.ToString());
                Maquina        maquina  = propietaris_manager.GetMaquinaPerId(lineas[i].idMaquinaria.ToString());
                Adob           adob     = propietaris_manager.GetAdobPerId(lineas[i].idProduteFito.ToString());

                string metrica_nom = "";
                if (lineas[i].idUnitatMetrica != null)
                {
                    UnitatMetrica metrica = propietaris_manager.GetUnitatMetricaPerId((int)lineas[i].idUnitatMetrica);
                    metrica_nom = metrica.GetTbl().Unitat;
                }

                grid.AddRow(treball, lineas[i].Descripcion, lineas[i].Unidades, lineas[i].idLinea.ToString(), metrica_nom, parte.Estat,
                            parcela.GetTbl().idParcelaVinicola, parcela.GetTbl().Ha, (bool)lineas[i].FertirrigacioSiNo ? "Si" : "No",
                            lineas[i].EficaciaTractament, personal, maquina, adob);
            }

            grid.CleanSelection();
        }
Exemplo n.º 2
0
        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);
        }