Exemplo n.º 1
0
 public void Agregar_ETR29(ET_R29 dato)
 {
     if (dato != null)
     {
         _ETR29 = dato;
     }
 }
Exemplo n.º 2
0
        private void Mostrar_conceptos_Remunerativos_fila_seleccionada(bool _es_nueva_fila, int RowIndex)
        {
            if (!_es_nueva_fila)
            {
                ET_R29 _et_r29_ = _lista_et_r29.FirstOrDefault(x => x._Fila == RowIndex);
                if (_lista_et_r29.Count > 0 && _et_r29_ != null)
                {
                    if (RowIndex > -1)
                    {
                        if (Analizar_registros_repetido())
                        {
                            if (_et_r29_._lista_et_m40.Count != 0)
                            {
                                _lista_et_m40 = _et_r29_._lista_et_m40;
                            }
                            else
                            {
                                _lista_et_m40 = _nt_m40.get_001()._lista_et_m40;
                            }

                            _lista_et_m40_back = new List <ET_M40>();
                            _lista_et_m40_back = _lista_et_m40.Where(x => x._fila >= 0).ToList();

                            _et_r29_._lista_et_m40 = _lista_et_m40_back;

                            panel_conceptos_remuneratios.BackColor = Color.LightSkyBlue;

                            dgv_conceptos_remunerativos.DataSource = null;
                            dgv_conceptos_remunerativos.Update();
                            dgv_conceptos_remunerativos.Refresh();
                            dgv_conceptos_remunerativos.DataSource = _lista_et_m40;
                        }
                    }
                    else
                    {
                        panel_conceptos_remuneratios.BackColor = Color.White;
                        _lista_et_m40.Clear();
                        dgv_conceptos_remunerativos.DataSource = null;
                        dgv_conceptos_remunerativos.Update();
                        dgv_conceptos_remunerativos.Refresh();
                    }
                }
            }
            else
            {
                for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++)
                {
                    dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White;
                }

                panel_conceptos_remuneratios.BackColor = Color.White;

                _lista_et_m40.Clear();

                dgv_conceptos_remunerativos.DataSource = null;
                dgv_conceptos_remunerativos.Update();
                dgv_conceptos_remunerativos.Refresh();
            }
        }
Exemplo n.º 3
0
        //registramos los cargos
        public ET_entidad set_001(ET_R29 objEntity)
        {
            _Entidad             = new ET_entidad();
            _Entidad._entity_r28 = new ET_R28();

            string Msg_respuesta;

            using (SqlConnection cn = new SqlConnection(_cnx.conexion))
            {
                cn.Open();
                SqlTransaction sqlTran = cn.BeginTransaction();
                SqlCommand     cmd     = new SqlCommand("pa_tr29set_001", cn, sqlTran);
                cmd.CommandType = CommandType.StoredProcedure;
                try
                {
                    cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 2000).Direction = ParameterDirection.Output;
                    cmd.Parameters.Add("@p_TR29_ID", SqlDbType.Int).Direction = ParameterDirection.Output;

                    cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.Int).Value           = objEntity._TR29_TR28_ID;
                    cmd.Parameters.Add("@p_TR29_TM38_ID", SqlDbType.VarChar, 300).Value  = objEntity._TR29_TM38_ID;
                    cmd.Parameters.Add("@p_TR29_DESCRIP", SqlDbType.VarChar, 300).Value  = objEntity._TR29_DESCRIP;
                    cmd.Parameters.Add("@p_TR29_HORA_ENTRADA", SqlDbType.DateTime).Value = objEntity._TR29_HORA_ENTRADA;
                    cmd.Parameters.Add("@p_TR29_HORA_SALIDA", SqlDbType.DateTime).Value  = objEntity._TR29_HORA_SALIDA;
                    cmd.Parameters.Add("@p_TR29_DIAS_SEMANA", SqlDbType.Int).Value       = objEntity._TR29_DIAS_SEMANA;
                    cmd.Parameters.Add("@p_TR29_UCREA", SqlDbType.VarChar, 20).Value     = _global._U_SESSION;
                    cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 20).Value    = _global._TM2_ID;
                    cmd.Parameters.Add("@p_TR29_REMUNERACION", SqlDbType.Decimal).Value  = objEntity._TR29_REMUNERACION;
                    cmd.ExecuteNonQuery();
                    sqlTran.Commit();

                    Msg_respuesta = cmd.Parameters["@P_MENSAJE_RESPUESTA"].Value.ToString();

                    _Entidad._entity_r29._TR29_ID = Convert.ToInt32(cmd.Parameters["@p_TR29_ID"].Value.ToString());
                    _Entidad._hubo_error          = false;
                }
                catch (SqlException exsql)
                {
                    Msg_respuesta = exsql.Message;
                    try
                    {
                        sqlTran.Rollback();
                    }
                    catch (Exception exRollback)
                    {
                        Msg_respuesta = exRollback.Message;
                    }

                    _Entidad._hubo_error        = true;
                    _Entidad._contenido_mensaje = Msg_respuesta;
                }
                finally
                {
                    cn.Close();
                }
            }
            return(_Entidad);
        }
Exemplo n.º 4
0
        ////


        //actualizar los registros

        public bool set_002(ET_R29 objEntity)
        {
            string Msg_respuesta;

            using (SqlConnection cn = new SqlConnection(_cnx.conexion))
            {
                cn.Open();
                SqlTransaction sqlTran = cn.BeginTransaction();
                SqlCommand     cmd     = new SqlCommand("pa_tr29_set002", cn, sqlTran);
                cmd.CommandType = CommandType.StoredProcedure;
                try
                {
                    cmd.Parameters.Add("@p_TR29_ID", SqlDbType.Int).Value                        = objEntity._TR29_ID;
                    cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.Int).Value                   = objEntity._TR29_TR28_ID;
                    cmd.Parameters.Add("@p_TR29_TM38_ID", SqlDbType.VarChar, 10).Value           = objEntity._TR29_TM38_ID;
                    cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 10).Value            = _global._TM2_ID;
                    cmd.Parameters.Add("@p_TR29_DESCRIP", SqlDbType.VarChar, 3000).Value         = objEntity._TR29_DESCRIP;
                    cmd.Parameters.Add("@p_TR29_HORA_ENTRADA", SqlDbType.DateTime).Value         = objEntity._TR29_HORA_ENTRADA;
                    cmd.Parameters.Add("@p_TR29_HORA_SALIDA", SqlDbType.DateTime).Value          = objEntity._TR29_HORA_SALIDA;
                    cmd.Parameters.Add("@p_TR29_DIAS_SEMANA", SqlDbType.Int).Value               = objEntity._TR29_DIAS_SEMANA;
                    cmd.Parameters.Add("@p_TR29_UACTUALIZA", SqlDbType.VarChar, 20).Value        = _global._U_SESSION;
                    cmd.Parameters.Add("@p_TR29_REMUNERACION", SqlDbType.Decimal).Value          = objEntity._TR29_REMUNERACION;
                    cmd.Parameters.Add("@p_TR29_FLG_ELIMINADO", SqlDbType.SmallInt).Value        = objEntity._TR29_FLG_ELIMINADO;
                    cmd.Parameters.Add("@P_MENSAJE_RESPUESTA", SqlDbType.VarChar, 200).Direction = ParameterDirection.Output;
                    cmd.ExecuteNonQuery();
                    sqlTran.Commit();

                    Msg_respuesta = cmd.Parameters["@P_MENSAJE_RESPUESTA"].Value.ToString();
                    if (Msg_respuesta.Equals("ERROR"))
                    {
                        return(false);
                    }
                }
                catch (SqlException exsql)
                {
                    Msg_respuesta = exsql.Message;
                    try
                    {
                        sqlTran.Rollback();
                    }
                    catch (Exception exRollback)
                    {
                        Msg_respuesta = exRollback.Message;
                    }

                    return(false);
                }
                finally
                {
                    cn.Close();
                }
            }
            return(true);
        }
Exemplo n.º 5
0
        public ET_entidad set_002(List <ET_R29> cargos_, List <ET_R27> locales_)
        {
            Resultado                    = new ET_entidad();
            Resultado._hubo_error        = false;
            Resultado._titulo_mensaje    = "Mensaje del sistema";
            Resultado._contenido_mensaje = string.Empty;
            List <ET_R29> Cargos_nuevos = new List <ET_R29>();

            #region ACTUALIZAR
            int indice = 0;
            int elementos_sin_actualizar = 0;
            locales_.ForEach(local => {
                cargos_.ForEach(cargo => {
                    bool _nuevo_elemento = false;

                    foreach (int[] roe in cargo._Locales_por_cargo_cantidad_personal)
                    {
                        if (roe[1] == 0)
                        {
                            _nuevo_elemento = true;
                            break;
                        }
                        if (roe[1] != 0)
                        {
                            ET_R31 parametros              = new ET_R31();
                            parametros._TR31_TM2_ID        = Globales._TM2_ID;
                            parametros._TR31_DESCRIP       = "update!";
                            parametros._TR31_UACTUALIZA    = Globales._U_SESSION;
                            parametros._TR31_CANT_PERSONAS = roe[0];
                            parametros._TR31_ID            = roe[1];
                            var result_ = _dt_R31.set_002(parametros)._hubo_error;
                            if (result_)
                            {
                                elementos_sin_actualizar++;
                            }
                        }
                    }

                    if (_nuevo_elemento)
                    {
                        ET_R29 tmp_e        = new ET_R29();
                        tmp_e               = cargo;
                        List <ET_R29> tmp_l = new List <ET_R29>();
                        tmp_l.Add(tmp_e);
                        Cargos_nuevos.Add(tmp_e);
                    }
                });
                indice++;
            });
            #endregion

            // SI SE ECONTRARON REGISTROS NUEVOS LOS FILTRAMOS E INGRESAMOS
            #region REGISTRAR
            int Elementos_sin_registrar = 0;
            if (Cargos_nuevos.Count > 0)
            {
                var _group_cargos = Cargos_nuevos.GroupBy(x => new
                {
                    x._Fila,
                    x._Locales_por_cargo_cantidad_personal,
                    x._TR29_DESCRIP,
                    x._TR29_DIAS_SEMANA,
                    x._TR29_ID,
                    x._TR29_TM2_ID,
                    x._TR29_TM38_ID,
                    x._TR29_TR28_ID
                }).Select(y => new ET_R29()
                {
                    _Fila = y.Key._Fila,
                    _Locales_por_cargo_cantidad_personal = y.Key._Locales_por_cargo_cantidad_personal,
                    _TR29_DESCRIP     = y.Key._TR29_DESCRIP,
                    _TR29_DIAS_SEMANA = y.Key._TR29_DIAS_SEMANA,
                    _TR29_ID          = y.Key._TR29_ID,
                    _TR29_TM2_ID      = y.Key._TR29_TM2_ID,
                    _TR29_TM38_ID     = y.Key._TR29_TM38_ID,
                    _TR29_TR28_ID     = y.Key._TR29_TR28_ID,
                }
                          );

                List <ET_R29> lista_final = new List <ET_R29>();
                foreach (var entidad in _group_cargos)
                {
                    lista_final.Add(entidad);
                }
                Elementos_sin_registrar = set_001(lista_final, locales_);
            }
            #endregion

            #region Resultado
            if (Elementos_sin_registrar > 0 || elementos_sin_actualizar > 0)
            {
                Resultado._hubo_error        = true;
                Resultado._contenido_mensaje = String.Format(" ELEMENTOS NO ACTUALIZADOS = {0} \n ELEMENTOS NUEVOS NO REGISTRADOS {1}", elementos_sin_actualizar, Elementos_sin_registrar);;
            }
            if (Elementos_sin_registrar == 0 && elementos_sin_actualizar == 0)
            {
                Resultado._contenido_mensaje = "Éxito al guardar!";
            }
            #endregion

            return(Resultado);
        }
Exemplo n.º 6
0
        //Eliminamos la fila en la que se presiono el boton de borrar
        private void dgv_entrada_datos_mano_de_obra_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1 && !dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow)
            {
                Indice_fila_grid_entrada_datos_mano_obra    = e.RowIndex;
                Indice_columna_grid_entrada_datos_mano_obra = e.ColumnIndex;

                if (dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].Name == "_COL_DELETE_ROW")
                {
                    #region eliminar cargo de la lista
                    ET_R29 edit_entity = _lista_et_r29.FirstOrDefault(row => row._Fila == e.RowIndex);
                    edit_entity._TR29_FLG_ELIMINADO = 1;
                    _lista_et_r29_los_eliminados.Add(edit_entity);

                    dgv_entrada_datos_mano_de_obra.Rows.RemoveAt(dgv_entrada_datos_mano_de_obra.CurrentRow.Index);

                    List <ET_R29> _clon = new List <ET_R29>();

                    int fila = 0;
                    foreach (ET_R29 row in _lista_et_r29)
                    {
                        if (row._TR29_FLG_ELIMINADO != 1)
                        {
                            ET_R29 e_ = new ET_R29();
                            e_._Fila               = fila;
                            e_._TR29_ID            = row._TR29_ID;
                            e_._TR29_TR28_ID       = row._TR29_TR28_ID;
                            e_._TR29_TM38_ID       = row._TR29_TM38_ID;
                            e_._TR29_HORA_ENTRADA  = row._TR29_HORA_ENTRADA;
                            e_._TR29_HORA_SALIDA   = row._TR29_HORA_SALIDA;
                            e_._TR29_DIAS_SEMANA   = row._TR29_DIAS_SEMANA;
                            e_._TR29_DESCRIP       = row._TR29_DESCRIP;
                            e_._TR29_ST            = row._TR29_ST;
                            e_._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO;
                            e_._TR29_UCREA         = row._TR29_UCREA;
                            e_._TR29_FCREA         = row._TR29_FCREA;
                            e_._TR29_UACTUALIZA    = row._TR29_UACTUALIZA;
                            e_._TR29_FACTUALIZA    = row._TR29_FACTUALIZA;
                            e_._TR29_REMUNERACION  = row._TR29_REMUNERACION;
                            e_._TR29_TM2_ID        = row._TR29_TM2_ID;
                            e_._lista_et_m40       = row._lista_et_m40;
                            e_._lista_et_r30       = row._lista_et_r30;

                            _clon.Add(e_);
                            fila++;
                        }
                    }
                    _lista_et_r29.Clear();
                    _lista_et_r29 = _clon;


                    panel_conceptos_remuneratios.BackColor = Color.White;

                    panel_cargos.BackColor = Color.White;
                    try
                    {
                        dgv_entrada_datos_mano_de_obra.AllowUserToAddRows = true;
                    }
                    catch { }

                    _lista_et_m40.Clear();
                    dgv_conceptos_remunerativos.DataSource = null;
                    dgv_conceptos_remunerativos.Update();
                    dgv_conceptos_remunerativos.Refresh();

                    _dibujar_repetidos = false;

                    dgv_entrada_datos_mano_de_obra.Update();
                    dgv_entrada_datos_mano_de_obra.Refresh();


                    _continuar            = true;
                    btn_continuar.Enabled = true;

                    dgv_entrada_datos_mano_de_obra.CurrentCell = dgv_entrada_datos_mano_de_obra[0, (dgv_entrada_datos_mano_de_obra.RowCount - 1)];
                    #endregion
                }
            }
        }
Exemplo n.º 7
0
        void Construir_GridView_ManoDeObra()
        {
            _helper.Set_Style_to_DatagridView(dgv_entrada_datos_mano_de_obra);

            dgv_entrada_datos_mano_de_obra.AutoGenerateColumns     = false;
            dgv_entrada_datos_mano_de_obra.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
            dgv_entrada_datos_mano_de_obra.AutoSizeColumnsMode     = DataGridViewAutoSizeColumnsMode.Fill;

            DataGridViewColumn _COL_CARGO = new DataGridViewTextBoxColumn();

            _COL_CARGO.DataPropertyName       = "_CARGO";
            _COL_CARGO.HeaderText             = "Cargo";
            _COL_CARGO.Name                   = "_COL_CARGO";
            _COL_CARGO.Width                  = 200;
            _COL_CARGO.MinimumWidth           = 200;
            _COL_CARGO.FillWeight             = 200;
            _COL_HORA_ENTRADA                 = new UserControls.GridTimeControl();
            _COL_HORA_ENTRADA.Name            = "_COL_HORA_ENTRADA";
            _COL_HORA_ENTRADA.HeaderText      = "Hora entrada";
            _COL_HORA_ENTRADA.Width           = 75;
            _COL_HORA_ENTRADA.MinimumWidth    = 75;
            _COL_HORA_ENTRADA.FillWeight      = 75;
            _COL_HORA_SALIDA                  = new UserControls.GridTimeControl();
            _COL_HORA_SALIDA.Name             = "_COL_HORA_SALIDA";
            _COL_HORA_SALIDA.HeaderText       = "Hora salida";
            _COL_HORA_SALIDA.Width            = 80;
            _COL_HORA_SALIDA.MinimumWidth     = 80;
            _COL_HORA_SALIDA.FillWeight       = 80;
            _COL_DIAS_POR_SEMANA              = new UserControls.NumericUpDownColumn();
            _COL_DIAS_POR_SEMANA.HeaderText   = "Dias por sem.";
            _COL_DIAS_POR_SEMANA.Name         = "_COL_DIAS_POR_SEMANA";
            _COL_DIAS_POR_SEMANA.Width        = 80;
            _COL_DIAS_POR_SEMANA.MinimumWidth = 80;
            _COL_DIAS_POR_SEMANA.FillWeight   = 80;
            _COL_DIAS_POR_SEMANA.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

            DataGridViewColumn _COL_REMUNERACION = new DataGridViewTextBoxColumn();

            _COL_REMUNERACION.DataPropertyName           = "_COL_REMUNERACION";
            _COL_REMUNERACION.HeaderText                 = "Remuneración básica";
            _COL_REMUNERACION.Name                       = "_COL_REMUNERACION";
            _COL_REMUNERACION.DefaultCellStyle.NullValue = "850.00";

            DataGridViewButtonColumn _COL_DELETE_ROW = new DataGridViewButtonColumn();

            _COL_DELETE_ROW.HeaderText = string.Empty;
            _COL_DELETE_ROW.Name       = "_COL_DELETE_ROW";

            dgv_entrada_datos_mano_de_obra.Columns.AddRange(new DataGridViewColumn[] {
                _COL_CARGO,
                _COL_HORA_ENTRADA,
                _COL_HORA_SALIDA,
                _COL_DIAS_POR_SEMANA,
                _COL_REMUNERACION,
                _COL_DELETE_ROW
            });

            TextBox bas_ = new TextBox();

            bas_.Text     = string.Empty;
            _lista_Cargos = _nt_m38.TexBox_Cargo(bas_);

            ET_R29 _et = new ET_R29();

            _et._TR29_TR28_ID = id_Servicio_hijo;
            _et._lista_et_m40 = _lista_et_m40_sin_Dependencia;
            _lista_et_r29     = _nt_r29.get_001(_et)._lista_et_r29;
            if (_lista_et_r29.Count > 0)
            {
                _lista_et_r29.ForEach(fila_ => {
                    dgv_entrada_datos_mano_de_obra.Rows.Add(
                        fila_._TR29_DESCRIP,
                        fila_._TR29_HORA_ENTRADA,
                        fila_._TR29_HORA_SALIDA,
                        fila_._TR29_DIAS_SEMANA,
                        fila_._TR29_REMUNERACION
                        );
                });
            }

            for (int i = 0; i < dgv_entrada_datos_mano_de_obra.Columns.Count; i++)
            {
                dgv_entrada_datos_mano_de_obra.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
            }
        }
Exemplo n.º 8
0
        private void dgv_entrada_datos_mano_de_obra_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView grid_view = (DataGridView)sender;

            if (!string.IsNullOrEmpty(grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString()))
            {
                if (e.ColumnIndex == 4)// remuneracion basica
                {
                    if (!grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().Contains('.'))
                    {
                        dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = string.Format("{0}.00", grid_view.Rows[e.RowIndex].Cells[e.ColumnIndex].Value);
                    }
                }

                //PARA CALCULAR LA REMUNERACION BASICA CUANDO SEA MENOR A 8 HORAS
                if (e.ColumnIndex == 1 || e.ColumnIndex == 2)
                {
                    DateTime HORA_ENTRADA = new DateTime(1900, 1, 1, hour:
                                                         Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Hour
                                                         , minute:
                                                         Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Minute, second:
                                                         Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[1].Value.ToString()).Second
                                                         );
                    DateTime HORA_SALIDA = new DateTime(1900, 1, 1, hour:
                                                        Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Hour
                                                        , minute:
                                                        Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Minute, second:
                                                        Convert.ToDateTime(grid_view.Rows[e.RowIndex].Cells[2].Value.ToString()).Second
                                                        );

                    int HORAS = (HORA_SALIDA - HORA_ENTRADA).Hours;
                    if (HORAS <= 8)
                    {
                        // OBTENEMOS EL MINIMO VITAL -- 850.00
                        decimal minimo_vital         = 850.00M;
                        decimal remuneracion_calculo = minimo_vital / HORAS;
                        dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].Cells[4].Value = string.Format("{0}", remuneracion_calculo);
                    }
                }
            }



            Indice_fila_grid_entrada_datos_mano_obra = e.RowIndex;
            dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = string.Empty;
            dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;

            Indice_columna_grid_entrada_datos_mano_obra = e.ColumnIndex;

            if (!dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow && e.RowIndex > -1)
            {
                ET_R29 _et_r29_ = _lista_et_r29.FirstOrDefault(x => x._Fila == e.RowIndex);

                for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++)
                {
                    if (a != e.RowIndex)
                    {
                        dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White;
                    }
                }
                //dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightSkyBlue;

                if (_et_r29_._lista_et_m40.Count != 0)
                {
                    _lista_et_m40 = _et_r29_._lista_et_m40;
                }
                else
                {
                    _lista_et_m40 = _nt_m40.get_001()._lista_et_m40;
                }

                _lista_et_m40_back = new List <ET_M40>();
                _lista_et_m40_back = _lista_et_m40.Where(x => x._fila >= 0).ToList();

                _et_r29_._lista_et_m40 = _lista_et_m40_back;

                panel_conceptos_remuneratios.BackColor = Color.LightSkyBlue;

                dgv_conceptos_remunerativos.DataSource = null;
                dgv_conceptos_remunerativos.Update();
                dgv_conceptos_remunerativos.Refresh();
                dgv_conceptos_remunerativos.DataSource = _lista_et_m40;
            }
            if (_lista_et_r29.Count > 1)
            {
                Analizar_registros_repetido();
                this.dgv_entrada_datos_mano_de_obra.CellPainting += new DataGridViewCellPaintingEventHandler(this.dgv_entrada_datos_mano_de_obra_CellPainting);
            }
        }
Exemplo n.º 9
0
        private void dgv_entrada_datos_mano_de_obra_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            #region entrada_datos
            if (!dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].IsNewRow)
            {
                for (int a = 0; a < dgv_entrada_datos_mano_de_obra.Rows.Count; a++)
                {
                    if (a != e.RowIndex)
                    {
                        dgv_entrada_datos_mano_de_obra.Rows[a].DefaultCellStyle.BackColor = Color.White;
                    }
                }
                string nombre_columna  = dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].Name;
                string cabecra_columna = dgv_entrada_datos_mano_de_obra.Columns[e.ColumnIndex].HeaderText;
                if (nombre_columna.Equals("_COL_DELETE_ROW"))
                {
                    return;
                }

                var msg = string.Format("El campo de nombre {0} esta vacio", cabecra_columna);

                if (string.IsNullOrEmpty(e.FormattedValue.ToString()))
                {
                    dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg;
                    dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon;
                    e.Cancel = true;
                }
                else
                {
                    Indice_fila_grid_entrada_datos_mano_obra = e.RowIndex;
                    bool existe = _lista_et_r29.Any(item => item._Fila == e.RowIndex);
                    // sis existe actualizo la lista
                    if (existe)
                    {
                        ET_R29 _fila = _lista_et_r29.FirstOrDefault(cus => cus._Fila == e.RowIndex);

                        switch (nombre_columna)
                        {
                        case "_COL_CARGO":
                            _fila._TR29_DESCRIP = e.FormattedValue.ToString();
                            ET_M38 cargo = _lista_Cargos.FirstOrDefault(x => x._TM38_DESCRIP == _fila._TR29_DESCRIP);
                            if (cargo != null)
                            {
                                _fila._TR29_TM38_ID = cargo._TM38_ID;     //id_cargo
                            }
                            else
                            {
                                dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg;
                                dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon;
                                e.Cancel = true;
                            }
                            break;

                        case "_COL_HORA_ENTRADA":
                            DateTime hora_e_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second);
                            _fila._TR29_HORA_ENTRADA = hora_e_no_Fecha;    // Convert.ToDateTime(e.FormattedValue.ToString());
                            break;

                        case "_COL_HORA_SALIDA":
                            DateTime hora_s_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second);
                            _fila._TR29_HORA_SALIDA = hora_s_no_Fecha;    // Convert.ToDateTime(e.FormattedValue.ToString());
                            break;

                        case "_COL_DIAS_POR_SEMANA":
                            _fila._TR29_DIAS_SEMANA = Convert.ToInt32(e.FormattedValue.ToString());
                            break;

                        case "_COL_REMUNERACION":
                            _fila._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString());
                            break;
                        }
                        _fila._TR29_TR28_ID = id_Servicio_hijo;
                    }
                    else
                    {
                        //es nuevo ingreso
                        ET_R29 in_et_r29 = new ET_R29();
                        in_et_r29._Fila               = e.RowIndex;
                        in_et_r29._TR29_ST            = 0;
                        in_et_r29._TR29_FLG_ELIMINADO = 0;
                        in_et_r29._TR29_TR28_ID       = id_Servicio_hijo;
                        switch (nombre_columna)
                        {
                        case "_COL_CARGO":
                            in_et_r29._TR29_DESCRIP = e.FormattedValue.ToString();

                            ET_M38 cargo = _lista_Cargos.FirstOrDefault(x => x._TM38_DESCRIP == e.FormattedValue.ToString());
                            if (cargo != null)
                            {
                                in_et_r29._TR29_TM38_ID = cargo._TM38_ID;
                            }
                            else
                            {
                                dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].ErrorText = msg;
                                dgv_entrada_datos_mano_de_obra.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.DarkSalmon;
                                e.Cancel = true;
                            }
                            break;

                        case "_COL_HORA_ENTRADA":
                            DateTime hora_e_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second);
                            in_et_r29._TR29_HORA_ENTRADA = hora_e_no_Fecha;    // Convert.ToDateTime(e.FormattedValue.ToString());
                            break;

                        case "_COL_HORA_SALIDA":
                            DateTime hora_s_no_Fecha = new DateTime(1900, 1, 1, Convert.ToDateTime(e.FormattedValue.ToString()).Hour, Convert.ToDateTime(e.FormattedValue.ToString()).Minute, Convert.ToDateTime(e.FormattedValue.ToString()).Second);
                            in_et_r29._TR29_HORA_SALIDA = hora_s_no_Fecha;    // Convert.ToDateTime(e.FormattedValue.ToString());
                            break;

                        case "_COL_DIAS_POR_SEMANA":
                            in_et_r29._TR29_DIAS_SEMANA = Convert.ToInt32(e.FormattedValue.ToString());
                            break;

                        case "_COL_REMUNERACION":
                            //if(e.FormattedValue.ToString().Contains('.'))
                            //    in_et_r29._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString());
                            //else
                            in_et_r29._TR29_REMUNERACION = Convert.ToDecimal(e.FormattedValue.ToString());

                            break;
                        }
                        _lista_et_r29.Add(in_et_r29);
                    }
                }
            }
            #endregion
        }
Exemplo n.º 10
0
        public ET_entidad get_001(ET_R29 objEntity)
        {
            string Mensaje_error = "";

            DataTable dt = new DataTable();

            using (SqlConnection cn = new SqlConnection(_cnx.conexion))
            {
                cn.Open();
                SqlTransaction sqlTran = cn.BeginTransaction();
                SqlCommand     cmd     = new SqlCommand("pa_tr29_sel100", cn, sqlTran);
                cmd.CommandType = CommandType.StoredProcedure;
                try
                {
                    _lista_r29 = new List <ET_R29>();

                    cmd.Parameters.Add("@p_TR29_TR28_ID", SqlDbType.VarChar, 10).Value = objEntity._TR29_TR28_ID;
                    cmd.Parameters.Add("@p_TR29_TM2_ID", SqlDbType.VarChar, 50).Value  = _global._TM2_ID;
                    SqlDataAdapter da = new SqlDataAdapter();
                    da.SelectCommand = cmd;
                    da.Fill(dt);

                    foreach (DataRow fila in dt.Rows)
                    {
                        _etr29 = new ET_R29();

                        _etr29._TR29_ID           = Convert.ToInt32(fila["TR29_ID"].ToString());
                        _etr29._TR29_TR28_ID      = Convert.ToInt32(fila["TR29_TR28_ID"].ToString());
                        _etr29._TR29_TM38_ID      = fila["TR29_TM38_ID"].ToString();
                        _etr29._TR29_HORA_ENTRADA = Convert.ToDateTime(fila["TR29_HORA_ENTRADA"].ToString());
                        _etr29._TR29_HORA_SALIDA  = Convert.ToDateTime(fila["TR29_HORA_SALIDA"].ToString());
                        _etr29._TR29_DIAS_SEMANA  = Convert.ToInt32(fila["TR29_DIAS_SEMANA"].ToString());
                        _etr29._TR29_DESCRIP      = fila["TR29_DESCRIP"].ToString();
                        //_etr29._TR29_ST = fila["TR29_ST"].ToString();
                        _etr29._TR29_FLG_ELIMINADO = Convert.ToInt32(fila["TR29_FLG_ELIMINADO"].ToString());
                        //_etr29._TR29_UCREA = fila["TR29_UCREA"].ToString();
                        //_etr29._TR29_FCREA = fila["TR29_FCREA"].ToString();
                        //_etr29._TR29_UACTUALIZA = fila["TR29_UACTUALIZA"].ToString();
                        //_etr29._TR29_FACTUALIZA = fila["TR29_FACTUALIZA"].ToString();
                        string res = "0.00";
                        if (!string.IsNullOrEmpty(fila["TR29_REMUNERACION"].ToString()))
                        {
                            res = fila["TR29_REMUNERACION"].ToString();
                        }
                        _etr29._TR29_REMUNERACION = Convert.ToDecimal(res);
                        //_etr29._TR29_TM2_ID = fila["TR29_TM2_ID"].ToString();


                        //get_001 dt_r30
                        _etr29._lista_et_r30 = dtr_30.get_001(_etr29._TR29_ID);

                        _lista_r29.Add(_etr29);
                    }

                    _Entidad._lista_et_r29 = _lista_r29;
                    _Entidad._hubo_error   = false;
                }
                catch (SqlException exsql)
                {
                    try
                    {
                        sqlTran.Rollback();
                    }
                    catch (Exception exRollback)
                    {
                    }
                }
                catch (Exception ex)
                {
                    Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + ex.Message.ToString()));
                    if (ex.InnerException != null)
                    {
                        Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Inner exception: " + ex.InnerException.Message));
                    }
                    Mensaje_error = string.Format("{1}{0}", Environment.NewLine, (Mensaje_error + "Stack trace: " + ex.StackTrace));

                    _Entidad._hubo_error        = true;
                    _Entidad._contenido_mensaje = Mensaje_error;
                    _Entidad._titulo_mensaje    = "Error!";
                }
                finally
                {
                    cn.Close();
                }
                return(_Entidad);
            }
        }
Exemplo n.º 11
0
        //AFECTO => 1 : NO AFECTO => 0

        #region Métodos
        public ET_entidad get_001(ET_R29 obj)
        {
            // obj._lista_et_m40; --> conceptos remunerativos disponibles
            var resultado = _dt_r29.get_001(obj);
            // analizamos los conceptos remunerativos que posee cada cargo y seleccionamos los conceptos que se visualizara como seleccionado
            List <ET_R29> lista_final = new List <ET_R29>();
            int           fila_       = 0;

            var _Lista_et_r29_trabajadores_8_horas = resultado._lista_et_r29.Where(o => (o._TR29_HORA_SALIDA - o._TR29_HORA_ENTRADA).Hours >= 4);
            var _Lista_et_r29_trabajadores_4_horas = resultado._lista_et_r29.Where(o => (o._TR29_HORA_SALIDA - o._TR29_HORA_ENTRADA).Hours < 4);

            #region mayor a 4 h

            _Lista_et_r29_trabajadores_8_horas.ToList().ForEach(row => {
                ET_R29 _entidad_final            = new ET_R29();
                List <ET_M40> _lista_child_etm40 = new List <ET_M40>();
                foreach (ET_M40 row_c in obj._lista_et_m40)
                {
                    ET_M40 entidad_m40           = new ET_M40();
                    var where_on_list_et_r30     = row._lista_et_r30.FirstOrDefault(x => x._TR30_TM40_ID == row_c._TM40_ID && x._TR30_DESCRIP == row_c._TM40_DESCRIP);
                    entidad_m40._TM40_IMPORTE    = row_c._TM40_IMPORTE;
                    entidad_m40._TM40_PORCENTAJE = row_c._TM40_PORCENTAJE;
                    entidad_m40._TR40_AFECTO     = row_c._TR40_AFECTO;
                    if (where_on_list_et_r30 != null)
                    {
                        entidad_m40._Seleccionado    = true;
                        entidad_m40._TM40_IMPORTE    = where_on_list_et_r30._TR30_IMPORTE;
                        entidad_m40._TM40_PORCENTAJE = where_on_list_et_r30._TR30_PORCENTAJE * 100;
                        entidad_m40._TR40_AFECTO     = where_on_list_et_r30._TR30_AFECTO;
                    }
                    else
                    {
                        entidad_m40._Seleccionado = false;
                    }
                    entidad_m40._TM40_DESCRIP = row_c._TM40_DESCRIP;
                    entidad_m40._TM40_ID      = row_c._TM40_ID;
                    entidad_m40._Work         = row_c._Work;
                    entidad_m40._fila         = fila_;
                    _lista_child_etm40.Add(entidad_m40);
                }
                _entidad_final._Fila               = fila_;
                _entidad_final._TR29_DESCRIP       = row._TR29_DESCRIP;
                _entidad_final._TR29_DIAS_SEMANA   = row._TR29_DIAS_SEMANA;
                _entidad_final._TR29_HORA_ENTRADA  = row._TR29_HORA_ENTRADA;
                _entidad_final._TR29_HORA_SALIDA   = row._TR29_HORA_SALIDA;
                _entidad_final._HOURS_DAY          = (row._TR29_HORA_SALIDA - row._TR29_HORA_ENTRADA).Hours;
                _entidad_final._TR29_ID            = row._TR29_ID;
                _entidad_final._TR29_REMUNERACION  = row._TR29_REMUNERACION;
                _entidad_final._TR29_TM2_ID        = row._TR29_TM2_ID;
                _entidad_final._TR29_TM38_ID       = row._TR29_TM38_ID;
                _entidad_final._TR29_TR28_ID       = row._TR29_TR28_ID;
                _entidad_final._lista_et_m40       = _lista_child_etm40;
                _entidad_final._lista_et_r30       = row._lista_et_r30;
                _entidad_final._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO;
                _entidad_final._TR29_ST            = 1; // manejare el estado para analizar quien se actualiza y quien no que se registra y quien no lo hace
                // 1 -> obtenido desde base de datos
                // 0 -> es un nuevo ingreso
                lista_final.Add(_entidad_final);
                fila_++;
            });

            #endregion

            #region menor a 4 h

            _Lista_et_r29_trabajadores_4_horas.ToList().ForEach(row => {
                ET_R29 _entidad_final            = new ET_R29();
                List <ET_M40> _lista_child_etm40 = new List <ET_M40>();
                foreach (ET_M40 row_c in obj._lista_et_m40)
                {
                    ET_M40 entidad_m40           = new ET_M40();
                    var where_on_list_et_r30     = row._lista_et_r30.FirstOrDefault(x => x._TR30_TM40_ID == row_c._TM40_ID && x._TR30_DESCRIP == row_c._TM40_DESCRIP);
                    entidad_m40._TM40_IMPORTE    = row_c._TM40_IMPORTE;
                    entidad_m40._TM40_PORCENTAJE = row_c._TM40_PORCENTAJE;
                    entidad_m40._TR40_AFECTO     = row_c._TR40_AFECTO;
                    if (where_on_list_et_r30 != null)
                    {
                        entidad_m40._Seleccionado    = true;
                        entidad_m40._TM40_IMPORTE    = where_on_list_et_r30._TR30_IMPORTE;
                        entidad_m40._TM40_PORCENTAJE = where_on_list_et_r30._TR30_PORCENTAJE * 100;
                        entidad_m40._TR40_AFECTO     = where_on_list_et_r30._TR30_AFECTO;
                    }
                    else
                    {
                        entidad_m40._Seleccionado = false;
                    }
                    entidad_m40._TM40_DESCRIP = row_c._TM40_DESCRIP;
                    entidad_m40._TM40_ID      = row_c._TM40_ID;
                    entidad_m40._Work         = row_c._Work;
                    entidad_m40._fila         = fila_;
                    _lista_child_etm40.Add(entidad_m40);
                }
                _entidad_final._Fila               = fila_;
                _entidad_final._TR29_DESCRIP       = row._TR29_DESCRIP;
                _entidad_final._TR29_DIAS_SEMANA   = row._TR29_DIAS_SEMANA;
                _entidad_final._TR29_HORA_ENTRADA  = row._TR29_HORA_ENTRADA;
                _entidad_final._TR29_HORA_SALIDA   = row._TR29_HORA_SALIDA;
                _entidad_final._HOURS_DAY          = (row._TR29_HORA_SALIDA - row._TR29_HORA_ENTRADA).Hours;
                _entidad_final._TR29_ID            = row._TR29_ID;
                _entidad_final._TR29_REMUNERACION  = row._TR29_REMUNERACION;
                _entidad_final._TR29_TM2_ID        = row._TR29_TM2_ID;
                _entidad_final._TR29_TM38_ID       = row._TR29_TM38_ID;
                _entidad_final._TR29_TR28_ID       = row._TR29_TR28_ID;
                _entidad_final._lista_et_m40       = _lista_child_etm40;
                _entidad_final._lista_et_r30       = row._lista_et_r30;
                _entidad_final._TR29_FLG_ELIMINADO = row._TR29_FLG_ELIMINADO;
                _entidad_final._TR29_ST            = 1; // manejare el estado para analizar quien se actualiza y quien no que se registra y quien no lo hace
                // 1 -> obtenido desde base de datos
                // 0 -> es un nuevo ingreso
                lista_final.Add(_entidad_final);
                fila_++;
            });

            #endregion

            resultado._lista_et_r29 = lista_final;
            return(resultado);
        }
Exemplo n.º 12
0
        public void set_001(List <ET_R29> _lista_et_r29, List <ET_R29> _lista_et_r29_back)
        {
            //_lista_et_r29_back.ForEach(row =>
            //{
            //    if (row._TR29_FLG_ELIMINADO == 1 && row._TR29_ST == 1)
            //    {
            //        //actualizar flg 1
            //        bool respuesta = _dt_r29.set_002(row);
            //    }

            //});

            var lista_where_r29 = _lista_et_r29.Where(X => X._TR29_ST == 1).ToList();

            lista_where_r29.ForEach(row => {
                bool respuesta = _dt_r29.set_002(row);
                int id         = row._TR29_ID;
                if (respuesta)
                {
                    row._lista_et_r30.ForEach(x => {
                        ET_R30 et30              = new ET_R30();
                        et30._TR30_ID            = x._TR30_ID;
                        et30._TR30_TR29_ID       = x._TR30_TR29_ID;
                        et30._TR30_IMPORTE       = x._TR30_IMPORTE;
                        et30._TR30_TM40_ID       = x._TR30_TM40_ID;
                        et30._TR30_FLG_ELIMINADO = 1;
                        et30._TR30_TM2_ID        = x._TR30_TM2_ID;
                        et30._TR30_AFECTO        = x._TR30_AFECTO;
                        et30._TR30_PORCENTAJE    = x._TR30_PORCENTAJE;
                        et30._TR30_UACTUALIZA    = Globales._U_SESSION;
                        _dt_r30.set_002(et30); // ACTUALIZAMOS
                    });

                    var all_true = row._lista_et_m40.Where(x => x._Seleccionado == true).ToList();
                    foreach (ET_M40 row_child in all_true)
                    {
                        ET_R30 _et_r30 = new ET_R30();

                        _et_r30._TR30_TR29_ID       = row._TR29_ID;//result._entity_r29._TR29_ID;
                        _et_r30._TR30_TM40_ID       = row_child._TM40_ID;
                        _et_r30._TR30_DESCRIP       = row_child._TM40_DESCRIP;
                        _et_r30._TR30_FLG_ELIMINADO = 0;
                        _et_r30._TR30_IMPORTE       = row_child._TM40_IMPORTE;
                        _et_r30._TR30_PORCENTAJE    = row_child._TM40_PORCENTAJE / 100;
                        _et_r30._TR30_AFECTO        = row_child._TR40_AFECTO;
                        _dt_r30.set_001(_et_r30); // REGISTRAMOS LOS CONCEPTOS REMUNERATIVOS
                    }
                }
            });

            _lista_et_r29.Where(X => X._TR29_ST == 0).ToList().ForEach(row => {
                //registramos lo nuevo

                DateTime h_e_ = new DateTime(year: 1900, month: 1, day: 1, hour: row._TR29_HORA_ENTRADA.Hour, minute: row._TR29_HORA_ENTRADA.Minute, second: 0); // reset
                DateTime h_s_ = new DateTime(year: 1900, month: 1, day: 1, hour: row._TR29_HORA_SALIDA.Hour, minute: row._TR29_HORA_SALIDA.Minute, second: 0);   // reset


                ET_R29 _et_r29        = new ET_R29();
                _et_r29._TR29_TR28_ID = row._TR29_TR28_ID; //servicio hijo que a su ve es padre en algunos casos
                _et_r29._TR29_TM38_ID = row._TR29_TM38_ID; // id del cargo que se va a registrar

                _et_r29._TR29_HORA_ENTRADA = h_e_;
                _et_r29._TR29_HORA_SALIDA  = h_s_;
                _et_r29._TR29_DIAS_SEMANA  = row._TR29_DIAS_SEMANA;
                _et_r29._TR29_DESCRIP      = row._TR29_DESCRIP;
                _et_r29._TR29_REMUNERACION = row._TR29_REMUNERACION;

                var result = _dt_r29.set_001(_et_r29);

                if (!result._hubo_error)
                {
                    var all_true = row._lista_et_m40.Where(x => x._Seleccionado == true).ToList();
                    foreach (ET_M40 row_child in all_true)
                    {
                        ET_R30 _et_r30 = new ET_R30();

                        _et_r30._TR30_TR29_ID       = result._entity_r29._TR29_ID;
                        _et_r30._TR30_TM40_ID       = row_child._TM40_ID;
                        _et_r30._TR30_DESCRIP       = row_child._TM40_DESCRIP;
                        _et_r30._TR30_FLG_ELIMINADO = 0;
                        _et_r30._TR30_IMPORTE       = row_child._TM40_IMPORTE;
                        _et_r30._TR30_PORCENTAJE    = row_child._TM40_PORCENTAJE / 100;
                        _et_r30._TR30_AFECTO        = row_child._TR40_AFECTO;

                        _dt_r30.set_001(_et_r30); // REGISTRAMOS LOS CONCEPTOS DE UN NUEVO CARGO
                    }
                }
            });
        }