Esempio n. 1
0
 static void Main(string[] args)
 {
     Cliente cliente;
     cliente = new ClienteContado();
     cliente.nuevoPedido(2000.0);
     cliente.nuevoPedido(10000.0);
     cliente = new ClienteCredito();
     cliente.nuevoPedido(2000.0);
     cliente.nuevoPedido(10000.0);
     Console.ReadLine();
 }
Esempio n. 2
0
            public static void Main(string[] args)
            {
                Cliente cliente;

                cliente = new ClienteContado();
                cliente.nuevoPedido(2000.0);
                cliente.nuevoPedido(10000.0);
                cliente = new ClienteCredito();
                cliente.nuevoPedido(2000.0);
                cliente.nuevoPedido(10000.0);
            }
Esempio n. 3
0
        private void btnAsignar_Click(object sender, EventArgs e)
        {
            int idCliente = Convert.ToInt32(txtCodigo.Text);

            using (var ctx = new FacturadorDBContext())
            {
                var credito = new ClienteCredito();
                credito.ClienteId = idCliente;
                credito.Credito   = Convert.ToDecimal(txtMonto.Text);

                ctx.Creditos.Add(credito);
                ctx.SaveChanges();
            }
        }
Esempio n. 4
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            this.Guardado = false;

            if (!Validaciones())
                return;

            var res = Util.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp);
            if (res == DialogResult.No)
                return;

            this.Cursor = Cursors.WaitCursor;

            int iClienteID;
            try
            {
                SplashScreen.Show(new Splash());
                this.btnGuardar.Enabled = false;
                if (EsNuevo)
                {
                    var cliente = new Cliente()
                    {
                        Nombre = this.txtNombreCliente.Text,
                        Calle = this.txtCalle.Text,
                        NumeroExterior = this.txtNumeroExt.Text,
                        NumeroInterior = this.txtNumeroInt.Text,
                        Colonia = this.txtColonia.Text,
                        EstadoID = Util.Entero(this.cboEstado.SelectedValue),
                        MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue),
                        CiudadID = Util.Entero(this.cboCiudad.SelectedValue),
                        CodigoPostal = this.txtCp.Text,
                        Alias = this.txtAlias.Text,
                        Telefono = this.txtTelOficina.Text,
                        Particular = this.txtTelParticular.Text,
                        Celular = this.txtTelCelular.Text,
                        Nextel = this.txtNextel.Text,

                        TieneCredito = this.chkTieneCredito.Checked,
                        Tolerancia = this.chkTolerancia.Checked,
                        DiasDeCredito = Util.Entero(this.txtPlazo.Text),
                        LimiteCredito = Util.Decimal(this.txtLimite.Text),
                        CobranzaContacto = this.txtCreditoContacto.Text,
                        CobranzaObservacion = this.txtCreditoObservacion.Text,

                        MenorQue2000Efectivo = this.chkMenor2000Efectivo.Checked,
                        TipoFormaPagoID = Util.Entero(this.cboMetodoPago.SelectedValue) > 0 ? Util.Entero(this.cboMetodoPago.SelectedValue) : default(int?),
                        BancoID = Util.Entero(this.cboBanco.SelectedValue) > 0 ? Util.Entero(this.cboBanco.SelectedValue) : default(int?),
                        CuentaBancaria = this.txtCuenta.Text,

                        ListaDePrecios = Util.Entero(this.nudListaPrecio.Value),
                        TipoClienteID = Util.Entero(this.cboTipoCliente.SelectedValue) > 0 ? Util.Entero(this.cboTipoCliente.SelectedValue) : default(int?),
                        ClienteComisionistaID = Util.Entero(this.cboClienteComisionista.SelectedValue) > 0 ? Util.Entero(this.cboClienteComisionista.SelectedValue) : default(int?),
                        EsClienteComisionista = this.chkClienteComisionista.Checked,
                        EsTallerElectrico = this.chkTallerElectrico.Checked,
                        EsTallerMecanico = this.chkTallerMecanico.Checked,
                        EsTallerDiesel = this.chkTallerDiesel.Checked,

                        Vip = this.chkVip.Checked,
                        CobroPorEnvio = this.chkCobroPorEnvio.Checked,
                        ImporteParaCobroPorEnvio = Util.Decimal(this.txtImporteParaCobroPorEnvio.Text),
                        ImporteCobroPorEnvio = Util.Decimal(this.txtImporteCobroPorEnvio.Text),

                        DiaDeCobro = this.cbDiaCobro.SelectedIndex+1,
                        //HoraDeCobro = TimeSpan.Parse(this.cbCobrarCredito.Text);
                        //var hora= DateTime.Parse(this.dtpHoraCobro.Value);
                       // HoraDeCobro = TimeSpan.Parse(this.dtpHoraCobro.Value.TimeOfDay.ToString())

                       //Factura
                       SiempreFactura = this.chkSiempreFactura.Checked,
                       SiempreTicket = this.chkSiempreTicket.Checked,
                       //Vale
                       SiempreVale = this.chkSiempreVale.Checked,
                       //Ticket precio 1
                       TicketPrecio1 = this.chkTicket1.Checked
                    };
                    Datos.Guardar<Cliente>(cliente);
                    iClienteID = cliente.ClienteID;

                    if (this.txtRfc.Text != "")
                    {
                        var clf = Datos.GetEntity<ClienteFacturacion>(c => c.ClienteID == cliente.ClienteID);
                        if (clf == null)
                        {
                            var clientef = new ClienteFacturacion()
                            {
                                ClienteID = cliente.ClienteID,
                                Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text),
                                RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text),
                                Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text),
                                NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text),
                                NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text),
                                Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text),
                                CodigoPostal = this.txtCp.Text != "" ? UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text) : "00000",
                                Pais = "MEXICO",
                                EstadoID = Util.Entero(this.cboEstado.SelectedValue),
                                MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue),
                                CiudadID = Util.Entero(this.cboCiudad.SelectedValue)
                            };
                            Datos.Guardar<ClienteFacturacion>(clientef);
                        }
                        else
                        {
                            Datos.Guardar<ClienteFacturacion>(clf);
                        }
                    }
                    if (this.ModificaCredito)
                    {
                        if (Util.Decimal(this.txtPlazo.Text) > 0
                        || Util.Decimal(this.txtLimite.Text) > 0
                        || this.chkTieneCredito.Checked || this.chkTolerancia.Checked)
                        {
                            if (cliente.ClienteID > 0)
                            {
                                var r = this.chkTieneCredito.Checked == true ? "SI" : "NO";
                                var t = this.chkTolerancia.Checked == true ? "SI" : "NO";
                                var credito = new ClienteCredito()
                                {
                                    ClienteID = cliente.ClienteID,
                                    Accion = string.Format("Plazo:{0}, Limite:{1}, Restringir:{2}, Tolerancia:{3}", txtPlazo.Text, txtLimite.Text, r, t),
                                    Comentario = this.txtComentario.Text
                                };
                                Datos.Guardar<ClienteCredito>(credito);
                            }
                        }
                    }

                    catalogosClientes.Instance.CustomInvoke<catalogosClientes>(m => m.seleccionarCliente(cliente.ClienteID));
                }
                else
                {
                    //Modificar Cliente
                    Cliente.Nombre = this.txtNombreCliente.Text;
                    Cliente.Calle = this.txtCalle.Text;
                    Cliente.NumeroExterior = this.txtNumeroExt.Text;
                    Cliente.NumeroInterior = this.txtNumeroInt.Text;
                    Cliente.Colonia = this.txtColonia.Text;
                    Cliente.EstadoID = Util.Entero(this.cboEstado.SelectedValue);
                    Cliente.MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue);
                    Cliente.CiudadID = Util.Entero(this.cboCiudad.SelectedValue);
                    Cliente.CodigoPostal = this.txtCp.Text;
                    Cliente.Alias = this.txtAlias.Text;
                    Cliente.Telefono = this.txtTelOficina.Text;
                    Cliente.Particular = this.txtTelParticular.Text;
                    Cliente.Celular = this.txtTelCelular.Text;
                    Cliente.Nextel = this.txtNextel.Text;

                    Cliente.TieneCredito = this.chkTieneCredito.Checked;
                    Cliente.Tolerancia = this.chkTolerancia.Checked;
                    Cliente.DiasDeCredito = Util.Entero(this.txtPlazo.Text);
                    Cliente.LimiteCredito = Util.Decimal(this.txtLimite.Text);
                    Cliente.CobranzaContacto = this.txtCreditoContacto.Text;
                    Cliente.CobranzaObservacion = this.txtCreditoObservacion.Text;

                    Cliente.MenorQue2000Efectivo = this.chkMenor2000Efectivo.Checked;
                    Cliente.TipoFormaPagoID = Util.Entero(this.cboMetodoPago.SelectedValue);
                    Cliente.BancoID = Util.Entero(this.cboBanco.SelectedValue);
                    Cliente.CuentaBancaria = this.txtCuenta.Text;

                    Cliente.ListaDePrecios = Util.Entero(this.nudListaPrecio.Value);
                    Cliente.TipoClienteID = Util.Entero(this.cboTipoCliente.SelectedValue) > 0 ? Util.Entero(this.cboTipoCliente.SelectedValue) : default(int?);
                    Cliente.ClienteComisionistaID = Util.Entero(this.cboClienteComisionista.SelectedValue) > 0 ? Util.Entero(this.cboClienteComisionista.SelectedValue) : default(int?);
                    Cliente.EsClienteComisionista = this.chkClienteComisionista.Checked;
                    Cliente.EsTallerElectrico = this.chkTallerElectrico.Checked;
                    Cliente.EsTallerMecanico = this.chkTallerMecanico.Checked;
                    Cliente.EsTallerDiesel = this.chkTallerDiesel.Checked;

                    Cliente.Vip = this.chkVip.Checked;
                    Cliente.CobroPorEnvio = this.chkCobroPorEnvio.Checked;
                    Cliente.ImporteParaCobroPorEnvio = Util.Decimal(this.txtImporteParaCobroPorEnvio.Text);
                    Cliente.ImporteCobroPorEnvio = Util.Decimal(this.txtImporteCobroPorEnvio.Text);

                    //Guardar dia y hora de preferencia de cobro
                    Cliente.DiaDeCobro = this.cbDiaCobro.SelectedIndex+1;
                    Cliente.HoraDeCobro = TimeSpan.Parse(this.dtpHoraCobro.Value.TimeOfDay.ToString());
                    Cliente.SiempreFactura = this.chkSiempreFactura.Checked;
                    Cliente.SiempreTicket = this.chkSiempreTicket.Checked;
                    Cliente.SiempreVale = this.chkSiempreVale.Checked;
                    Cliente.TicketPrecio1 = this.chkTicket1.Checked;
                    Datos.Guardar<Cliente>(Cliente);
                    iClienteID = Cliente.ClienteID;

                    //Modificar Cliente Facturacion
                    if (ClienteFacturacion != null)
                    {
                        ClienteFacturacion.Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text);
                        ClienteFacturacion.RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text);
                        ClienteFacturacion.Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text);
                        ClienteFacturacion.NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text);
                        ClienteFacturacion.NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text);
                        ClienteFacturacion.Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text);
                        ClienteFacturacion.CodigoPostal = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text);
                        ClienteFacturacion.Pais = "MEXICO";
                        ClienteFacturacion.EstadoID = Util.Entero(this.cboEstado.SelectedValue);
                        ClienteFacturacion.MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue);
                        ClienteFacturacion.CiudadID = Util.Entero(this.cboCiudad.SelectedValue);
                        Datos.Guardar<ClienteFacturacion>(ClienteFacturacion);
                    }
                    else
                    {
                        if (this.txtRfc.Text != "")
                        {
                            var clientef = new ClienteFacturacion()
                            {
                                ClienteID = Cliente.ClienteID,
                                Rfc = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtRfc.Text),
                                RazonSocial = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNombreCliente.Text),
                                Calle = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCalle.Text),
                                NumeroExterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroExt.Text),
                                NumeroInterior = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtNumeroInt.Text),
                                Colonia = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtColonia.Text),
                                CodigoPostal = UtilLocal.LimpiarCadenaDeEspaciosBlancos(this.txtCp.Text),
                                Pais = "MEXICO",
                                EstadoID = Util.Entero(this.cboEstado.SelectedValue),
                                MunicipioID = Util.Entero(this.cboMunicipio.SelectedValue),
                                CiudadID = Util.Entero(this.cboCiudad.SelectedValue)
                            };
                            Datos.Guardar<ClienteFacturacion>(clientef);
                        }
                    }

                    if (modificoCredito && this.ModificaCredito)
                    {
                        var r = this.chkTieneCredito.Checked == true ? "SI" : "NO";
                        var t = this.chkTolerancia.Checked == true ? "SI" : "NO";
                        var credito = new ClienteCredito()
                        {
                            ClienteID = Cliente.ClienteID,
                            Accion = string.Format("Plazo:{0}, Limite:{1}, Restringir:{2}, Tolerancia:{3}", txtPlazo.Text, txtLimite.Text, r, t),
                            Comentario = this.txtComentario.Text
                        };
                        Datos.Guardar<ClienteCredito>(credito);
                        txtComentario.Text = "";
                        cargarClienteCredito(Cliente.ClienteID);
                    }
                }

                // Se guardan los datos de los vehículos
                ClienteFlotilla oReg;
                foreach (DataGridViewRow oFila in this.dgvVehiculos.Rows)
                {
                    if (oFila.IsNewRow) continue;

                    int iId = this.dgvVehiculos.ObtenerId(oFila);
                    int iCambio = this.dgvVehiculos.ObtenerIdCambio(oFila);
                    switch (iCambio)
                    {
                        case Cat.TiposDeAfectacion.Agregar:
                        case Cat.TiposDeAfectacion.Modificar:
                            if (iCambio == Cat.TiposDeAfectacion.Agregar)
                                oReg = new ClienteFlotilla() { ClienteID = iClienteID };
                            else
                                oReg = Datos.GetEntity<ClienteFlotilla>(c => c.ClienteFlotillaID == iId && c.Estatus);

                            oReg.NumeroEconomico = Util.Cadena(oFila.Cells["NumeroEconomico"].Value);
                            oReg.Anio = (Util.Entero(oFila.Cells["Anio"].Value) > 0 ? (int?)Util.Entero(oFila.Cells["Anio"].Value) : null);
                            oReg.MotorID = (Util.Entero(oFila.Cells["MotorID"].Value) > 0
                                ? (int?)Util.Entero(oFila.Cells["MotorID"].Value) : null);
                            oReg.VehiculoTipoID = (Util.Entero(oFila.Cells["TipoID"].Value) > 0
                                ? (int?)Util.Entero(oFila.Cells["TipoID"].Value) : null);
                            oReg.Vin = Util.Cadena(oFila.Cells["Vin"].Value);
                            oReg.Color = Util.Cadena(oFila.Cells["Color"].Value);
                            oReg.Placa = Util.Cadena(oFila.Cells["Placa"].Value);
                            oReg.Kilometraje = Util.Entero(oFila.Cells["Kilometraje"].Value);

                            Datos.Guardar<ClienteFlotilla>(oReg);
                            break;
                        case Cat.TiposDeAfectacion.Borrar:
                            oReg = Datos.GetEntity<ClienteFlotilla>(c => c.ClienteFlotillaID == iId && c.Estatus);
                            Datos.Eliminar<ClienteFlotilla>(oReg, true);
                            break;
                    }
                }
                this.CargarClienteVehiculos(iClienteID);

                new Notificacion("Cliente Guardado exitosamente", 2 * 1000).Mostrar(Principal.Instance);
                this.modificoCredito = false;
                this.Cursor = Cursors.Default;
                this.Guardado = true;
                this.clienteId = iClienteID;

                this.txtComentario.Clear();

                //refrescar calendario
                this.CargarEventosCalendario();

                SplashScreen.Close();
                this.btnGuardar.Enabled = true;

            }
            catch (Exception ex)
            {
                SplashScreen.Close();
                this.btnGuardar.Enabled = true;
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
                this.Cursor = Cursors.Default;
            }
        }