/// <summary>
        /// Registra el contrato en la base de datos
        /// </summary>
        public void InsertarContrato()
        {
            //GMD - 2017-01-23 Se agrega Validación para asegurar que empresa de unidad es la misma a donde se genera el contrato
            Entities.Unidades unidad = Entities.Unidades.Read((int)this.Contrato.Unidad_ID);
            if (unidad != null && unidad.Empresa_ID != this.Contrato.Empresa_ID)
            {
                throw new SICASException(string.Format("La empresa del contrato ({0}) no corresponde a la empresa donde está asignada la unidad ({1}), Favor de Verificar.", this.Contrato.Empresa_ID, unidad.Empresa_ID));
            }

            // Insertar contrato
            this.Contrato.Create();

            // Actualiza unidad
            DB.UpdateRow(
                "Unidades",
                DB.GetParams(
                    DB.Param("EstatusUnidad_ID", 2),
                    DB.Param("LocacionUnidad_ID", 3),
                    DB.Param("ConductorOperativo_ID", this.Contrato.Conductor_ID)
                    ),
                DB.GetParams(
                    DB.Param("Unidad_ID", this.Contrato.Unidad_ID)
                    )
                );

            BindData();
            AppHelper.Info("Contrato creado con éxito!");
        }
        private void DoSave()
        {
            this.Validate();
            // this.unidadesBindingSource.EndEdit();
            // this.tableAdapterManager.UpdateAll(this.sICASCentralDataSet);

            Entities.Unidades unidad = (Entities.Unidades) this.unidadesBindingSource.Current;

            //  Obtenemos el estatus
            Entities.LocacionesUnidades locacionunidad = Entities.LocacionesUnidades.Read(unidad.LocacionUnidad_ID);
            //  Configuramos el estatus
            unidad.EstatusUnidad_ID = locacionunidad.EstatusUnidad_ID;
            //  Realizamos la actualizacion
            unidad.Update();

            //  Creamos el registro de locacion y unidad
            Entities.Unidades_Locaciones unidad_locacion = new Entities.Unidades_Locaciones();
            unidad_locacion.Unidad_ID         = unidad.Unidad_ID;
            unidad_locacion.LocacionUnidad_ID = unidad.LocacionUnidad_ID;
            unidad_locacion.Fecha             = DB.GetDate();
            unidad_locacion.Comentarios       = "ACTUALIZACION DE LA UNIDAD";
            unidad_locacion.Usuario_ID        = Sesion.Usuario_ID;
            unidad_locacion.Create();

            AppHelper.Info("Unidad actualizada");

            Padre.SwitchForma("Unidades");
        }
            public void Guardar()
            {
                Cliente = new Entities.Empresas();
                Unidad  = new Entities.Unidades();

                Cliente.Activo         = true;
                Cliente.Mercado_ID     = null;
                Cliente.Nombre         = StringHelper.Left(this.RazonSocial, 50);
                Cliente.RazonSocial    = this.RazonSocial;
                Cliente.RFC            = this.RFC;
                Cliente.Telefono1      = this.Telefono;
                Cliente.TipoEmpresa_ID = 3;
                Cliente.Domicilio      = "PENDIENTE";
                Cliente.CodigoPostal   = "PENDIENTE";
                Cliente.Ciudad         = "Monterrey";
                Cliente.Estado         = "Nuevo León";
                Cliente.Create();

                Unidad.Arrendamiento_ID   = null;
                Unidad.Concesion_ID       = null;
                Unidad.Empresa_ID         = Cliente.Empresa_ID;
                Unidad.Estacion_ID        = Sesion.Estacion_ID.Value;
                Unidad.EstatusUnidad_ID   = 1;
                Unidad.Kilometraje        = null;
                Unidad.LocacionUnidad_ID  = 1;
                Unidad.ModeloUnidad_ID    = ObtenerModeloUnidad_ID();
                Unidad.NumeroEconomico    = this.NumeroEconomico;
                Unidad.Placas             = this.Placas;
                Unidad.PrecioLista        = 0;
                Unidad.Propietario_ID     = Cliente.Empresa_ID;
                Unidad.NumeroSerie        = "PENDIENTE";
                Unidad.NumeroSerieMotor   = "PENDIENTE";
                Unidad.TarjetaCirculacion = "PENDIENTE";
                Unidad.Create();
            }
Beispiel #4
0
        private void ValidaEmpresaUnidad()
        {
            Entities.SelectEmpresas objEmpresa = (Entities.SelectEmpresas)getEmpresasInternasBindingSource.Current;
            object objUnidad = getSelectUnidadesDeEmpresaEstacionBindingSource.Current;

            Entities.Unidades unidad = Entities.Unidades.Read((int)((DataRowView)objUnidad).Row.ItemArray[0]);
            if (objEmpresa.Empresa_ID != unidad.Empresa_ID)
            {
                throw new SICASException(string.Format("La empresa del contrato ({0}) no corresponde a la empresa donde está asignada la unidad ({1}), Favor de Verificar.", objEmpresa.Empresa_ID, unidad.Empresa_ID));
            }
        }
        /// <summary>
        /// Selecciona la unidad a asignar el contrato
        /// </summary>
        /// <param name="rowindex">El índice de la unidad seleccionada</param>
        private void SelectUnidad(int rowindex)
        {
            //  Obtenemos la unidad
            unidad = (Entities.Unidades)UnidadesGridView.Rows[rowindex].DataBoundItem;

            //  Mostramos sus datos
            NumeroEconomicoTextBox.Text = unidad.NumeroEconomico.ToString();
            PlacasTextBox.Text = unidad.Placas;

            //  Liberamos los datos del control de listado de unidades
            unidadesBindingSource.DataSource = null;
        }
Beispiel #6
0
        /// <summary>
        /// Ingresamos el contrato a la base de datos
        /// </summary>
        public void InsertarContrato()
        {
            //GMD - 2017-01-23 Se agrega Validación para asegurar que empresa de unidad es la misma a donde se genera el contrato
            Entities.Unidades unidad = Entities.Unidades.Read((int)this.Contrato.Unidad_ID);
            if (unidad != null && unidad.Empresa_ID != this.Contrato.Empresa_ID)
            {
                throw new SICASException(string.Format("La empresa del contrato ({0}) no corresponde a la empresa donde está asignada la unidad ({1}), Favor de Verificar.", this.Contrato.Empresa_ID, unidad.Empresa_ID));
            }

            //  Creamos el registro
            this.Contrato.Create();

            //  Volvemos a ligar los datos
            //  reiniciando el asistente
            BindData();

            //  Mostramos el mensaje de éxito
            AppHelper.Info("Contrato creado con éxito!");
        }
            /// <summary>
            /// Registra el movimiento como gasto en la cuenta de la unidad
            /// </summary>
            private void InsertCuentaUnidad()
            {
                Entities.Unidades unidad = Entities.Unidades.Read(this.OrdenTrabajo.Unidad_ID);

                Entities.CuentaUnidades cu = new Entities.CuentaUnidades();
                cu.Cargo           = this.OrdenTrabajo.Total;
                cu.Caja_ID         = null;
                cu.Comentarios     = "GASTO POR ORDEN DE TRABAJO";
                cu.Concepto_ID     = 3; // CARGO DE TALLER
                cu.Conductor_ID    = unidad.ConductorOperativo_ID;
                cu.Cuenta_ID       = 4; // TALLER
                cu.Empresa_ID      = unidad.Empresa_ID;
                cu.Estacion_ID     = Sesion.Estacion_ID.Value;
                cu.Fecha           = DB.GetDate();
                cu.Saldo           = 0; // Se calcula al insertar;
                cu.Ticket_ID       = null;
                cu.Unidad_ID       = this.OrdenTrabajo.Unidad_ID;
                cu.Usuario_ID      = Sesion.Usuario_ID;
                cu.OrdenTrabajo_ID = this.OrdenTrabajo.OrdenTrabajo_ID;
                cu.Create();
            } // end void
        public override void BindData()
        {
            this.get_ArrendamientosDisponiblesTableAdapter.Fill(this.sICASCentralQuerysDataSet.Get_ArrendamientosDisponibles);

            this.get_ConcesionesDisponiblesTableAdapter.Fill(this.sICASCentralQuerysDataSet.Get_ConcesionesDisponibles);

            this.locacionesUnidadesTableAdapter.Fill(this.sICASCentralDataSet.LocacionesUnidades);

            this.estatusUnidadesTableAdapter.Fill(this.sICASCentralDataSet.EstatusUnidades);

            this.get_ModelosUnidadesTableAdapter.Fill(this.sICASCentralQuerysDataSet.Get_ModelosUnidades);

            this.selectEmpresasInternasBindingSource.DataSource = Sesion.Empresas;

            this.selectEstacionesBindingSource.DataSource = Sesion.Estaciones;

            // this.unidadesTableAdapter.Fill(this.sICASCentralDataSet.Unidades, Unidad_ID);

            Entities.Unidades unidad = Entities.Unidades.Read(Unidad_ID);
            this.unidadesBindingSource.DataSource = unidad;

            base.BindData();
        }
            } // end void

            /// <summary>
            /// Registra el movimiento como gasto en la cuenta de la unidad
            /// </summary>
            private void InsertCuentaUnidad(Entities.OrdenesTrabajos ordentrabajo)
            {
                if (ordentrabajo.EstatusOrdenTrabajo_ID == 3 || ordentrabajo.EstatusOrdenTrabajo_ID == 4)
                {
                    Entities.Unidades unidad = Entities.Unidades.Read(ordentrabajo.Unidad_ID);

                    Entities.CuentaUnidades cu = new Entities.CuentaUnidades();
                    cu.Abono           = this.OrdenTrabajo.Total;
                    cu.Caja_ID         = null;
                    cu.Comentarios     = "AJUSTE POR CANCELACION DE ORDEN DE TRABAJO";
                    cu.Concepto_ID     = 3; // CARGO DE TALLER
                    cu.Conductor_ID    = unidad.ConductorOperativo_ID;
                    cu.Cuenta_ID       = 4; // TALLER
                    cu.Empresa_ID      = unidad.Empresa_ID;
                    cu.Estacion_ID     = Sesion.Estacion_ID.Value;
                    cu.Fecha           = DB.GetDate();
                    cu.Saldo           = 0; // Se calcula al insertar;
                    cu.Ticket_ID       = null;
                    cu.Unidad_ID       = ordentrabajo.Unidad_ID;
                    cu.Usuario_ID      = Sesion.Usuario_ID;
                    cu.OrdenTrabajo_ID = ordentrabajo.OrdenTrabajo_ID;
                    cu.Create();
                }
            } // end void
        /// <summary>
        /// Maneja el evento KeyUp en la caja de texto NumeroEconomico
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void NumeroEconomicoTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                //  Al hacer enter en "NumeroEconomico" o "Unidad"

                // Validar dato de unidad
                if (NumeroEconomicoTextBox.Text != "" &&
                    e.KeyData == Keys.Enter)
                {
                    //  Consultar la información y desplegarla mediante el binding ya configurado
                    int numeroeconomico = DB.GetNullableInt32(NumeroEconomicoTextBox.Text).Value;
                    int estacion;
                    if (this.estacion_IDComboBox.SelectedItem != null)
                    {
                        estacion = Convert.ToInt32(this.estacion_IDComboBox.SelectedValue);
                    }
                    else
                    {
                        throw new Exception("Debe seleccionar una estación");
                    }

                    //  Contiene la unidad que tiene asignada el conductor
                    Entities.Unidades unidad = null;

                    //  Buscamos la unidad
                    Entities.Unidades.Read(
                        out unidad,
                        1,
                        "NumeroEconomico = @NumeroEconomico AND Estacion_ID = @Estacion_ID AND EstatusUnidad_ID <> 5",
                        null,
                        DB.Param("@NumeroEconomico", numeroeconomico),
                        DB.Param("@Estacion_ID", estacion)
                        );

                    //  Verificamos que exista
                    if (unidad == null)
                    {
                        throw new Exception("Unidad no existe o no tiene contrato activo");
                    }

                    //  Obtenemos al contrato
                    Entities.Contratos contrato =
                        Entities.Contratos.Read(DB.Param("Unidad_ID", unidad.Unidad_ID), DB.Param("EstatusContrato_ID", 1));

                    //  Verificamos los verificamos que exita
                    if (contrato == null)
                    {
                        throw new Exception("El contrato de la unidad no está activo");
                    }

                    //  Obtenemos el conductor
                    Entities.Conductores conductor =
                        Entities.Conductores.Read(contrato.Conductor_ID);

                    //  Verificamos los permisos
                    if (Sesion.Empresa_ID != null)
                    {
                        if (contrato.Empresa_ID != Sesion.Empresa_ID.Value)
                        {
                            throw new Exception("No tiene permisos para consultar la unidad");
                        }
                        else
                        {
                            if (Sesion.Estacion_ID != null)
                            {
                                if (contrato.Estacion_ID != Sesion.Estacion_ID.Value)
                                {
                                    throw new Exception("No tiene permisos para consultar la unidad");
                                }
                            }
                        }
                    }

                    //  Configuramos los datos de conductor y unidad
                    Conductor_ID = conductor.Conductor_ID;
                    Unidad_ID    = unidad.Unidad_ID;

                    //  El nombre del conductor
                    this.ConductorTextBox.Text = conductor.Apellidos + " " + conductor.Nombre;

                    //  Consultar los saldos
                    get_SaldosConductorTableAdapter.Fill(sICASCentralQuerysDataSet.Get_SaldosConductor, Conductor_ID);

                    //  Colorear los saldos
                    ColorGrid();
                }
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }