Ejemplo n.º 1
0
        /// <summary>
        /// Método encargado de Obtener el Kilometraje Inverso
        /// </summary>
        /// <param name="id_kilometraje">Kilometraje</param>
        /// <returns></returns>
        public static Kilometraje ObtieneKilometrajeInverso(int id_kilometraje)
        {
            //Declarando Objeto de Retorno
            Kilometraje kmsInv = new Kilometraje();

            //Instanciando Kilometraje
            using (Kilometraje kms = new Kilometraje(id_kilometraje))
            {
                //Validando que exista el Kilometraje
                if (kms.id_kilometraje > 0)
                {
                    //Instanciando Kilometraje
                    kmsInv = new Kilometraje(kms.id_ubicacion_destino, kms.id_ubicacion_origen, kms.id_ruta, kms.id_compania_emisor);
                }
            }

            //Devolviendo Objeto de Retorno
            return(kmsInv);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Realiza la actualización de montos solicitados (insertando, editano o eliminando conceptos), una vez actualizados se realiza la agrupación de los registros
        /// </summary>
        private void ImportacionKilometrajes()
        {
            //Declarando resultao de carga de vista previa
            RetornoOperacion resultado = new RetornoOperacion("Primero debe cargar un archivo .xls o .xlsx.");

            //Validando que existan registros que modificar
            using (DataTable mit = OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "TableImportacion"))
            {
                //Obtiene los kilometrajes a importar general
                List <DataRow> Validacion = (from DataRow r in mit.Rows
                                             where r.Field <int>("No") != -1 && r.Field <int>("No") != -2 && r.Field <int>("No") != -7 && r.Field <int>("No") != -8 && r.Field <int>("No") != -9
                                             select r).ToList();
                if (Validacion.Count > 1)
                {
                    //Señalando resultado exitoso
                    resultado = new RetornoOperacion("No se puede importar el documento, validar errores", false);
                }
                else
                {
                    //Obtiene los registros que importaran sin ningun problema los cuales se identifican por no = -2
                    List <DataRow> Insertar = (from DataRow r in mit.Rows
                                               //where r.Field<int>("No") == -2
                                               select r).ToList();
                    foreach (DataRow dr in Insertar)
                    {
                        int Opcion = Convert.ToInt32(dr["No"]);
                        if (Opcion == -7 || Opcion == -8 || Opcion == -9)
                        {
                            Opcion = -1;
                        }
                        switch (Opcion)
                        {
                        case -1:
                            //Modificacion de registo
                            using (SAT_CL.Global.Kilometraje km = new SAT_CL.Global.Kilometraje(Convert.ToInt32(dr["IdKMS"])))
                            {
                                //Validando que exista el Kilometraje
                                if (km.habilitar)
                                {
                                    if (km.id_kilometraje > 0)
                                    {
                                        decimal KmsActual = Convert.ToDecimal(dr["KMSActual"]);
                                        decimal KmsNuevo  = Convert.ToDecimal(dr["KMS"]);
                                        if (KmsActual == KmsNuevo)
                                        {
                                            resultado = new RetornoOperacion(true);
                                        }
                                        else
                                        {
                                            //Editando Kilometraje
                                            resultado = km.EditaKilometrajeImportacion(Convert.ToInt32(dr["IdO"]), Convert.ToInt32(dr["IdD"]),
                                                                                       Convert.ToDecimal(dr["KMS"]), Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["Tiempo"]), "0")),
                                                                                       Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["KMSPago"]), "0")), Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["KMSCobro"]), "0")),
                                                                                       ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                        }
                                    }
                                }
                            }
                            break;

                        //Inserta nuevo registro
                        case -2:
                            resultado = SAT_CL.Global.Kilometraje.InsertaKilometraje(Convert.ToInt32(dr["IdO"]), Convert.ToInt32(dr["IdD"])
                                                                                     , SqlGeography.Null, SqlGeography.Null, Convert.ToDecimal(dr["KMS"]), 0.00M, Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["Tiempo"]), "0")), 0.00M, 0,
                                                                                     Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["KMSPago"]), "0")), Convert.ToDecimal(Cadena.VerificaCadenaVacia(Convert.ToString(dr["KMSCobro"]), "0")),
                                                                                     ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                            break;
                        }
                    }
                }
            }
            //inicializa pagina
            inicializaPagina();
            //Notificando resultado obtenido
            ScriptServer.MuestraNotificacion(this, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
        }