示例#1
0
        public void ReasignarComision(ComisionDeServicio una_comision, Area area_destino, int id_accion, String comentario)
        {
            Area area_actual;

            if (una_comision.TransicionesRealizadas.Count > 0)
            {
                area_actual = una_comision.AreaActual;
            }
            else
            {
                area_actual = una_comision.AreaCreadora;
            }

            var repo_acciones = new RepositorioDeAccionesDeTransicion();
            var accion        = repo_acciones.GetAccionDeTransicionById(id_accion);

            var fecha_transicion = DateTime.Now;

            var parametros = new Dictionary <string, object>();

            parametros.Add("@Id_Comision", una_comision.Id);
            parametros.Add("@Id_Area_Origen", area_actual.Id);
            parametros.Add("@Id_Area_Destino", area_destino.Id);
            parametros.Add("@Id_Accion", id_accion);
            parametros.Add("@Fecha", fecha_transicion);
            parametros.Add("@Comentario", comentario);
            var id_transicion = conexion_bd.EjecutarEscalar("dbo.VIA_GuardarTransicionDeViatico", parametros);

            var transicion = new TransicionDeViatico((int)((Decimal)id_transicion), area_actual, area_destino, accion, fecha_transicion, comentario);

            una_comision.TransicionesRealizadas.Add(transicion);
        }
示例#2
0
        private List <ComisionDeServicio> GetViaticosFromTabla(TablaDeDatos tablaViaticos)
        {
            List <ComisionDeServicio> viaticos = new List <ComisionDeServicio>();

            if (tablaViaticos.Rows.Count > 0)
            {
                var un_viatico     = new ComisionDeServicio();
                var un_pasaje      = new Pasaje();
                var una_estadia    = new Estadia();
                var una_transicion = new TransicionDeViatico();
                var una_zona       = new Zona();
                tablaViaticos.Rows.ForEach(row =>
                {
                    if (viaticos.FindAll(t => t.Id == row.GetInt("Id")).Count == 0)
                    {
                        un_viatico                     = new ComisionDeServicio();
                        un_viatico.Id                  = row.GetInt("Id");
                        un_viatico.Baja                = row.GetBoolean("Baja");
                        un_viatico.FechaCreacion       = row.GetDateTime("fecha");
                        un_viatico.AreaCreadora        = new Area();
                        un_viatico.AreaCreadora.Id     = row.GetInt("IdAreaCreadora");
                        un_viatico.AreaCreadora.Nombre = row.GetString("DescripcionAreaCreadora");
                        un_viatico.AreaSuperior        = new Area();
                        un_viatico.AreaSuperior.Id     = row.GetInt("IdAreaCreadora");
                        un_viatico.AreaSuperior.Nombre = row.GetString("DescripcionAreaCreadora");
                        un_viatico.Persona             = new Persona();
                        un_viatico.Persona.Nombre      = row.GetString("Persona_Nombre");
                        un_viatico.Persona.Apellido    = row.GetString("Persona_Apellido");
                        un_viatico.Persona.Documento   = row.GetInt("Persona_Documento");
                        un_viatico.Persona.Area        = new Area();
                        un_viatico.Persona.Area.Id     = row.GetInt("Persona_Area_Id");
                        un_viatico.Persona.Area.Nombre = row.GetString("Persona_Area_Descripcion");

                        un_viatico.Persona.Cuit      = row.GetString("Cuil_Persona");
                        un_viatico.Persona.Legajo    = row.GetInt("Legajo_Persona").ToString();
                        un_viatico.Persona.Telefono  = row.GetString("Telefono_Area");
                        un_viatico.Persona.Categoria = row.GetString("Categoria_Persona");
                        un_viatico.Persona.Nivel     = row.GetString("Nivel_Funcion");
                        un_viatico.Persona.Grado     = row.GetString("Grado_Rango");

                        //FC:agrego el estado mockeado por ahora para poder filtrar

                        //

                        viaticos.Add(un_viatico);
                        un_pasaje      = new Pasaje();
                        una_estadia    = new Estadia();
                        una_transicion = new TransicionDeViatico();
                    }
                    if (!(row.GetObject("Estadia_Id") is DBNull))
                    {
                        if (un_viatico.Estadias.FindAll(t => t.Id == row.GetInt("Estadia_Id")).Count == 0)
                        {
                            una_estadia                       = new Estadia();
                            una_zona                          = new Zona(row.GetSmallintAsInt("Id_Zona"), row.GetString("Nombre_Zona"));
                            una_estadia.Id                    = row.GetInt("Estadia_Id");
                            una_estadia.Desde                 = row.GetDateTime("Estadia_Desde");
                            una_estadia.Hasta                 = row.GetDateTime("Estadia_Hasta");
                            una_estadia.Provincia             = new Provincia();
                            una_estadia.Provincia.Id          = row.GetSmallintAsInt("Estadia_Provincia_Id");
                            una_estadia.Provincia.Nombre      = row.GetString("Estadia_Provincia_Nombre");
                            una_estadia.Provincia.Zona        = una_zona;
                            una_estadia.Eventuales            = Decimal.Parse(row.GetObject("Estadia_Eventuales").ToString());            // GetObject("Estadia_Eventuales");
                            una_estadia.AdicionalParaPasajes  = Decimal.Parse(row.GetObject("Estadia_AdicionalParaPasajes").ToString());  //GetObject("Estadia_AdicionalParaPasajes");
                            una_estadia.CalculadoPorCategoria = Decimal.Parse(row.GetObject("Estadia_CalculadoPorCategoria").ToString()); //GetObject("Estadia_CalculadoPorCategoria");
                            una_estadia.Motivo                = row.GetString("Estadia_Motivo");
                            una_estadia.Persona               = un_viatico.Persona;

                            un_viatico.Estadias.Add(una_estadia);
                        }
                    }

                    if (!(row.GetObject("Pasaje_Id") is DBNull))
                    {
                        if (un_viatico.Pasajes.FindAll(t => t.Id == row.GetInt("Pasaje_Id")).Count == 0)
                        {
                            un_pasaje                          = new Pasaje();
                            un_pasaje.Id                       = row.GetInt("Pasaje_Id");
                            un_pasaje.Origen                   = new Localidad();
                            un_pasaje.Origen.Id                = row.GetInt("Pasaje_LocalidadOrigen_Id");
                            un_pasaje.Origen.Nombre            = row.GetString("Pasaje_LocalidadOrigen_Nombre");
                            un_pasaje.Destino                  = new Localidad();
                            un_pasaje.Destino.Id               = row.GetInt("Pasaje_LocalidadDestino_Id");
                            un_pasaje.Destino.Nombre           = row.GetString("Pasaje_LocalidadDestino_Nombre");
                            un_pasaje.FechaDeViaje             = row.GetDateTime("Pasaje_FechaDeViaje");
                            un_pasaje.MedioDeTransporte        = new MedioDeTransporte();
                            un_pasaje.MedioDeTransporte.Id     = row.GetSmallintAsInt("Pasaje_MedioDeTransporte_Id");
                            un_pasaje.MedioDeTransporte.Nombre = row.GetString("Pasaje_MedioDeTransporte_Nombre");
                            un_pasaje.MedioDePago              = new MedioDePago();
                            un_pasaje.MedioDePago.Id           = row.GetSmallintAsInt("Pasaje_MedioDePago_Id");
                            un_pasaje.MedioDePago.Nombre       = row.GetString("Pasaje_MedioDePago_Nombre");
                            un_pasaje.Precio                   = Decimal.Parse(row.GetObject("Pasaje_Precio").ToString());//.GetObject("Pasaje_Precio");

                            un_viatico.Pasajes.Add(un_pasaje);
                        }
                    }

                    if (!(row.GetObject("Transicion_Id") is DBNull))
                    {
                        if (un_viatico.TransicionesRealizadas.FindAll(t => t.Id == row.GetInt("Transicion_Id")).Count == 0)
                        {
                            var id_transicion = row.GetInt("Transicion_Id");

                            var id_area_origen     = row.GetInt("Transicion_AreaOrigen_Id");
                            var nombre_area_origen = row.GetString("Transicion_AreaOrigen_Descripcion");
                            var area_origen        = new Area(id_area_origen, nombre_area_origen);

                            var responsableAreaOrigen       = new Persona();
                            responsableAreaOrigen.Nombre    = row.GetString("Transicion_AreaOrigen_Responsable_Nombre");
                            responsableAreaOrigen.Apellido  = row.GetString("Transicion_AreaOrigen_Responsable_Apellido");
                            responsableAreaOrigen.Documento = row.GetInt("Transicion_AreaOrigen_Responsable_Documento");
                            area_origen.Responsables        = new List <Persona>();
                            area_origen.Responsables.Add(responsableAreaOrigen);

                            var id_area_destino     = row.GetInt("Transicion_AreaDestino_Id");
                            var nombre_area_destino = row.GetString("Transicion_AreaDestino_Descripcion");
                            var area_destino        = new Area(id_area_destino, nombre_area_destino);

                            var responsableAreaDestino       = new Persona();
                            responsableAreaDestino.Nombre    = row.GetString("Transicion_AreaDestino_Responsable_Nombre");
                            responsableAreaDestino.Apellido  = row.GetString("Transicion_AreaDestino_Responsable_Apellido");
                            responsableAreaDestino.Documento = row.GetInt("Transicion_AreaDestino_Responsable_Documento");

                            area_destino.Responsables = new List <Persona>();
                            area_destino.Responsables.Add(responsableAreaDestino);

                            var repositorioAcciones = new RepositorioDeAccionesDeTransicion();
                            var accion     = repositorioAcciones.GetAccionDeTransicionById(row.GetInt("Transicion_Id_Accion"));
                            var fecha      = row.GetDateTime("Transicion_Fecha");
                            var comentario = row.GetString("Transicion_Comentario");
                            if (comentario == null)
                            {
                                comentario = "";
                            }
                            una_transicion = new TransicionDeViatico(id_transicion, area_origen, area_destino, accion, fecha, comentario);
                            un_viatico.TransicionesRealizadas.Add(una_transicion);
                        }
                    }
                });
            }
            return(viaticos);
        }