Exemplo n.º 1
0
        public void GestionarCiudad(DataTable dtbTmp, DataTable dtbEliminados)
        {
            DataTable dtbTmpEliminados = new DataTable();
            DataSet   dtsDatos         = new DataSet();

            ServicioProperTime.ServicioProperTimeClient objServicioProperTime;
            objServicioProperTime = new ServicioProperTime.ServicioProperTimeClient();
            try
            {
                dtbTmpEliminados.Columns.Add(Constantes.ColumnaCentroCostosCodigo, typeof(int));

                objServicioProperTime.Open();
                // Enviar lo nuevos y editados

                // Crea tablas para insertar y actualizar
                DataTable dtbInsertar   = dtbTmp.Clone();
                DataTable dtbActualizar = dtbTmp.Clone();

                foreach (DataRow dtrFila in dtbTmp.Rows)
                {
                    if (dtrFila.RowState == DataRowState.Added)
                    {
                        dtbInsertar.ImportRow(dtrFila);
                    }
                    else if (dtrFila.RowState == DataRowState.Modified)
                    {
                        dtbActualizar.ImportRow(dtrFila);
                    }
                }
                if (dtbInsertar.Rows.Count > 0)
                {
                    dtsDatos = new DataSet();
                    dtbInsertar.TableName = "Ciiudad";
                    dtsDatos.Tables.Add(dtbInsertar.Copy());
                    objServicioProperTime.InsertarCiudad(dtsDatos);
                }
                if (dtbActualizar.Rows.Count > 0)
                {
                    foreach (DataRow dtrFila in dtbActualizar.Rows)
                    {
                        objServicioProperTime.ActualizarCiudad(Convert.ToInt32(dtrFila[Constantes.ColumnaCiudadesCodigo].ToString()), dtrFila[Constantes.ColumnaCiudadesNombre].ToString());
                    }
                }

                if (dtbActualizar.Rows.Count > 0)
                {
                    foreach (DataRow dtrFila in dtbEliminados.Rows)
                    {
                        objServicioProperTime.EliminarCiudad(Convert.ToInt32(dtrFila[Constantes.ColumnaCiudadesCodigo]));
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (objServicioProperTime != null && objServicioProperTime.State == System.ServiceModel.CommunicationState.Opened)
                {
                    objServicioProperTime.Close();
                }
            }
        }