Esempio n. 1
0
 private void Grafico_DoubleClick(object sender, EventArgs e)
 {
     if (Guardar.ShowDialog() == DialogResult.OK)
     {
         Grafico.SaveImage(Guardar.FileName, ChartImageFormat.Png);
     }
 }
Esempio n. 2
0
 private void Imprimir_Click(object sender, EventArgs e)
 {
     cancelar.Hide();
     Guardar.Hide();
     CaptureScreen();
     printDocument1.Print();
 }
Esempio n. 3
0
        public void Main()
        {
            string    cMensaje  = string.Empty;
            IServicio IServicio = new Guardar();

            cMensaje = IServicio.RealizarOperacion();
            Console.WriteLine(cMensaje);

            Console.WriteLine("Caso 1:\n");
            GuardarHistorial GuardarHistorial = new GuardarHistorial(IServicio);

            cMensaje = GuardarHistorial.RealizarOperacion();
            Console.WriteLine(cMensaje);

            Console.WriteLine("Caso 2:\n");
            EnviarCorreo EnviarCorreo = new EnviarCorreo(IServicio);

            cMensaje = EnviarCorreo.RealizarOperacion();
            Console.WriteLine(cMensaje);

            Console.WriteLine("Caso 3:\n");
            GuardarHistorial = new GuardarHistorial(IServicio);
            EnviarCorreo     = new EnviarCorreo(GuardarHistorial);
            cMensaje         = EnviarCorreo.RealizarOperacion();
            Console.WriteLine(cMensaje);

            Console.ReadLine();
        }
Esempio n. 4
0
        public Generar(OOB.Contable.Periodo.Ficha periodo)
        {
            InitializeComponent();

            this.Periodo       = periodo;
            bs                 = new BindingSource();
            bs.CurrentChanged += bs_CurrentChanged;
            bsDet              = new BindingSource();
            GuardarComo        = Guardar.Contabilizado;

            _sucursales = new List <Sucursal>()
            {
            };
            _sucursales.Add(new Sucursal()
            {
                Id = "01", Descripcion = "PRINCIPAL"
            });
            _sucursales.Add(new Sucursal()
            {
                Id = "02", Descripcion = "PARAPARAL"
            });
            _sucursales.Add(new Sucursal()
            {
                Id = "03", Descripcion = "AGUA DORADA"
            });
            _sucursales.Add(new Sucursal()
            {
                Id = "04", Descripcion = "NAGUANAGUA"
            });
            _sucursales.Add(new Sucursal()
            {
                Id = "05", Descripcion = "ALM SUC 05"
            });
        }
        protected override void btnGuardar_Click(object sender, EventArgs e)
        {
            this.ParteV.TipoFuenteID = Util.Entero(this.cmbFuente.SelectedValue);
            Guardar.ParteVehiculo(this.ParteV);

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
Esempio n. 6
0
 private void cbxTipo_KeyPress(object sender, KeyPressEventArgs e)
 {
     // 'e' almacena la tecla presionada
     if (e.KeyChar == (char)13)  //si la tecla pesionada es igual a ENTER (13)
     {
         e.Handled = true;       //.Handled significa que nosotros nos haremos cargo del codigo
                                 //al ser true, evita que apareca la tecla presionada
         Guardar.PerformClick(); // permite hacer clic en el boton por codigo.
     }
 }
Esempio n. 7
0
 private void btnDescargar_Click(object sender, EventArgs e)
 {
     if (ValidarForm())
     {
         Guardar.FileName = Guardar.FileName.ToString().Replace(".SVG", ".PNG").Replace(".svg", ".png");
         Image Imagen = pickImagen.Image;
         Guardar.ShowDialog();
         Imagen.Save(Guardar.FileName);
     }
 }
 private void textBox7_KeyPress(object sender, KeyPressEventArgs e)
 {
     if (textBox7.Text.Length == 0 && e.KeyChar == ' ')
     {
         e.KeyChar = (char)0;
     }
     else if (textBox7.Text.Length > 0 && e.KeyChar == (char)13)
     {
         Guardar.Focus();
     }
 }
Esempio n. 9
0
        public void Exportar()
        {
            try
            {
                DataTable Tb = new DataTable();
                foreach (DataGridViewColumn Col in DGV.Columns)
                {
                    Tb.Columns.Add(Col.HeaderText, Col.ValueType);
                }

                foreach (DataGridViewRow row in DGV.Rows)
                {
                    Tb.Rows.Add();
                    foreach (DataGridViewCell Cells in row.Cells)
                    {
                        Tb.Rows[Tb.Rows.Count - 1][Cells.ColumnIndex] = Cells.Value.ToString();
                    }
                }
                using (XLWorkbook wb = new XLWorkbook())
                {
                    wb.Worksheets.Add(Tb, "Reporte");

                    wb.Worksheet(1).Cells("A1:C1").Style.Fill.BackgroundColor = XLColor.DarkGreen;
                    for (int i = 1; i <= Tb.Rows.Count; i++)
                    {
                        string cellRange = string.Format("A{0}:C{0}", i + 1);
                        if (i % 2 != 0)
                        {
                            wb.Worksheet(1).Cells(cellRange).Style.Fill.BackgroundColor = XLColor.GreenYellow;
                        }
                        else
                        {
                            wb.Worksheet(1).Cells(cellRange).Style.Fill.BackgroundColor = XLColor.Yellow;
                        }
                    }
                    wb.Worksheet(1).Columns().AdjustToContents();
                    string file = Abrir.SafeFileName.Substring(0, Abrir.SafeFileName.Length - 4);
                    Guardar.FileName = file;
                    if (Guardar.ShowDialog() == DialogResult.OK)
                    {
                        wb.SaveAs(Guardar.FileName);
                    }
                }
                SystemSounds.Exclamation.Play();
                MessageBox.Show("Exportado Completo!!!");
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message);
            }
        }
Esempio n. 10
0
        private void btnAplicar_Click(object sender, System.EventArgs e)
        {
            // Se solicita contraseña del Usuario
            var ValUsr = UtilLocal.ValidarObtenerUsuario("AplicarPartes.Agregar");

            if (ValUsr.Error)
            {
                return;
            }

            // Se procede a guardar los datos
            int?          oMotorID = null, oAnio = null;
            ParteVehiculo ParteV;

            for (int iFila = 0; iFila < this.dgvPartes.Rows.Count; iFila++)
            {
                if (Util.Logico(this.dgvPartes["Aplicar", iFila].Value))
                {
                    if (this.oVehiculo.MotorID > 0)
                    {
                        oMotorID = this.oVehiculo.MotorID;
                    }
                    if (this.oVehiculo.Anio > 0)
                    {
                        oAnio = this.oVehiculo.Anio;
                    }

                    ParteV = new ParteVehiculo()
                    {
                        ParteID             = Util.Entero(this.dgvPartes["ParteID", iFila].Value)
                        , ModeloID          = this.oVehiculo.ModeloID
                        , MotorID           = oMotorID
                        , Anio              = oAnio
                        , TipoFuenteID      = Cat.TipoDeFuentes.Mostrador
                        , RegistroUsuarioID = ValUsr.Respuesta.UsuarioID
                    };
                    var Res = Guardar.ParteVehiculo(ParteV);

                    if (Res.Exito)
                    {
                        UtilLocal.MostrarNotificacion("Aplicación guardada exitosamente.");
                    }
                    else
                    {
                        UtilLocal.MostrarNotificacion(Res.Mensaje);
                    }
                }
            }

            this.Close();
        }
        //


        public Agregar(OOB.Contable.Periodo.Ficha periodo)
        {
            InitializeComponent();

            MDebe              = 0.0m;
            MHaber             = 0.0m;
            Diferencia         = 0.0m;
            bs                 = new BindingSource();
            items              = new BindingList <Detalle>();
            items.ListChanged += items_ListChanged;
            GuardarComo        = Guardar.Contabilizado;
            EsDeApertura       = false;
            this.Periodo       = periodo;
        }
Esempio n. 12
0
        //Guardar Como
        private void GuardarComo()
        {
            //Guarda el actual archivo en edición en un formato preferido por el usuario.
            Guardar.FileName         = TCPaginas.SelectedTab.Name;
            Guardar.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            Guardar.Filter           = "Archivos de Texto|*.txt|Archivos VB|*.vb|Archivos C#|*.cs|Todos los archivos|*.*";
            Guardar.Title            = "Guardar Como";

            if (Guardar.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (Guardar.FileName.Length > 0)
                {
                    DocumentoActual.SaveFile(Guardar.FileName, RichTextBoxStreamType.PlainText);
                }
            }
        }
Esempio n. 13
0
        public static void Actualizar(Guardar actualiza)
        {
            var rest = new Rest(Local.Api.UrlApi, Resumen.Semanal.ActualizarResumen, Method.POST);

            rest.Peticion.AddHeader(Constantes.Http.ObtenerTipoDeContenido, Constantes.Http.TipoDeContenido.Json);
            rest.Peticion.AddJsonBody(actualiza);
            rest.Cliente.ExecuteAsync(rest.Peticion, response =>
            {
                switch (response.StatusCode)
                {
                case HttpStatusCode.OK:
                    break;

                default:
                    throw new Exception(@"Los datos no se pudieron actualizar");
                }
            });
        }
Esempio n. 14
0
        public static void Guardado(Action <IRestResponse> callback, Guardar lista)
        {
            var rest = new Rest(Local.Api.UrlApi, Resumen.Semanal.GuardarResumen, Method.POST);

            rest.Peticion.AddHeader(Constantes.Http.ObtenerTipoDeContenido, Constantes.Http.TipoDeContenido.Json);
            rest.Peticion.AddJsonBody(lista);
            rest.Cliente.ExecuteAsync(rest.Peticion, response =>
            {
                switch (response.StatusCode)
                {
                case HttpStatusCode.OK:
                    callback(response);
                    break;

                default:
                    throw new Exception(@"error al buscar articulo");
                }
            });
        }
Esempio n. 15
0
        //Control de las operaciones de abrir, guardar y guardar como del archivo de código fuente
        //Guardar archivo

        private void GuardarArchivo()
        {
            //Guarda el contenido del textbox actual en un archivo de tipo RTF definido
            //"Guardar" es el nombre del savefiledialog
            //TCPaginas es el nombre el controlTab

            Guardar.FileName         = TCPaginas.SelectedTab.Name;
            Guardar.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            Guardar.Filter           = "RTF|*.rtf";
            Guardar.Title            = "Guardar";

            if (Guardar.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                if (Guardar.FileName.Length > 0)
                {
                    DocumentoActual.SaveFile(Guardar.FileName, RichTextBoxStreamType.RichText);
                }
            }
        }
        private void MenuGuardarPreview_CheckedChanged(object sender, EventArgs e)
        {
            var bt = (ToolStripMenuItem)sender;

            GuardarComo = bt.Checked ? Guardar.Preview : Guardar.Contabilizado;
            if (GuardarComo == Guardar.Preview)
            {
                if (ModoFicha == Modo.AgregarFicha || ModoFicha == Modo.ExportarFicha)
                {
                    L_NUMERO.Text = Contadores.CntAsientoPreview;
                }
                else
                {
                    L_NUMERO.Text = Asiento.Comprobante;
                }
            }
            else
            {
                L_NUMERO.Text = Contadores.CntAsiento;
            }
        }
Esempio n. 17
0
        private void AlmacenarEquivalente(int parteId, int equivalenteId)
        {
            try
            {
                /* var existe = General.GetEntity<ParteEquivalente>(p => p.ParteID == parteId && p.ParteEquivalenteID == equivalenteId);
                 * if (existe == null)
                 * {
                 *  var equivalente = new ParteEquivalente()
                 *  {
                 *      ParteID = parteId,
                 *      ParteIDequivalente = equivalenteId
                 *  };
                 *  Datos.Guardar<ParteEquivalente>(equivalente);
                 * }
                 *
                 * var existeInverso = General.GetEntity<ParteEquivalente>(p => p.ParteID == equivalenteId && p.ParteEquivalenteID == parteId);
                 * if (existeInverso == null)
                 * {
                 *  var equivalenteInverso = new ParteEquivalente()
                 *  {
                 *      ParteID = equivalenteId,
                 *      ParteIDequivalente = parteId
                 *  };
                 *  Datos.Guardar<ParteEquivalente>(equivalenteInverso);
                 * }
                 */

                // Nueva modalidad de equivalentes - Moisés
                Guardar.ParteEquivalencia(parteId, equivalenteId);
                //
            }
            catch (Exception ex)
            {
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Esempio n. 18
0
        protected override bool AccionGuardar()
        {
            if (!this.Validar())
            {
                return(false);
            }

            Cargando.Mostrar();

            // Se crea el movimiento bancario
            DateTime dFecha   = DateTime.Now; // Se toma la fecha de hoy
            var      oMovBanc = new BancoCuentaMovimiento()
            {
                BancoCuentaID   = this.OrigenBancoCuentaID,
                EsIngreso       = true,
                Fecha           = dFecha,
                FechaAsignado   = dFecha,
                SucursalID      = GlobalClass.SucursalID,
                Importe         = Helper.ConvertirDecimal(this.txtImporte.Text),
                Concepto        = this.txtConcepto.Text,
                Referencia      = GlobalClass.UsuarioGlobal.NombreUsuario,
                TipoFormaPagoID = Cat.FormasDePago.Efectivo
            };

            ContaProc.RegistrarMovimientoBancario(oMovBanc);

            // Se crea la póliza correspondiente (AfeConta)
            var oPoliza = ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.DepositoBancario, oMovBanc.BancoCuentaMovimientoID, oMovBanc.Referencia, oMovBanc.Concepto);

            oPoliza.Fecha = oMovBanc.Fecha;
            Guardar.Generico <ContaPoliza>(oPoliza);

            Cargando.Cerrar();

            return(true);
        }
Esempio n. 19
0
        public bool Ejecutar()
        {
            // Se verifica si ya se hizo el cierre de caja
            if (UtilDatos.VerCierreDeDaja())
            {
                UtilLocal.MensajeAdvertencia("Ya se hizo el Corte de Caja. No se puede continuar.");
                return(false);
            }

            // Se valida el cliente
            if (this.oControlVentas.Cliente == null)
            {
                UtilLocal.MensajeAdvertencia("No hay ningún cliente seleccionado o cliente inválido.");
                return(false);
            }

            // Se validan los productos
            if (!this.oControlVentas.Validar())
            {
                return(false);
            }

            // Se validan si hay una parte de cobro de diferencia de casco, sea la única en la venta
            var oVentaDet = this.oControlVentas.GenerarVentaDetalle();

            foreach (var oReg in oVentaDet)
            {
                if (Datos.Exists <Parte>(c => c.ParteID == oReg.ParteID && c.EsCascoPara > 0) || oReg.ParteID == Cat.Partes.DiferenciaDeCascos)
                {
                    if (oVentaDet.Count > 1)
                    {
                        UtilLocal.MensajeAdvertencia("La venta contiene un artículo Casco, por lo cual no puede contener otros artículos.");
                        return(false);
                    }
                }
            }

            // Se verifica si se debe mostrar la opción de cobro
            if (!this.oControlVentas.CobroAlFrente)
            {
                if (this.oControlVentas.ctlCobro == null)
                {
                    this.oControlVentas.ctlCobro = new Cobro()
                    {
                        Dock = DockStyle.Fill
                    };
                    this.oControlVentas.pnlContenidoDetalle.Controls.Add(this.oControlVentas.ctlCobro);

                    // Se configura el evento Click para el botón de cotización
                    this.oControlVentas.ctlCobro.Cotizacion_Click += new EventHandler((s, e) =>
                    {
                        this.GenerarCotizacion();
                    });
                }
                this.oControlVentas.ctlCobro.CambiarCliente(this.oControlVentas.Cliente.ClienteID);
                this.oControlVentas.ctlCobro.Total = this.oControlVentas.Total;

                // Sólo se permite cambiar el vendedor, no cobrar
                this.oControlVentas.ctlCobro.HabilitarTipoDePago    = false;
                this.oControlVentas.ctlCobro.MostrarFacturar        = false;
                this.oControlVentas.ctlCobro.MostrarFacturarDividir = false;
                this.oControlVentas.ctlCobro.HabilitarCotizacion    = true;
                this.oControlVentas.ctlCobro.HabilitarFormasDePago  = false;
                this.oControlVentas.ctlCobro.Total = 0;

                this.oControlVentas.ctlCobro.BringToFront();
                return(false);
            }

            // Se verifica si es cotización
            if (this.oControlVentas.EsCotizacion)
            {
                UtilLocal.MensajeAdvertencia("No se puede realizar la venta porque esta es sólo una cotización.");
                return(false);
            }

            // Se intenta completar
            if (!this.oControlVentas.ctlCobro.CompletarCobro())
            {
                return(false);
            }
            //decimal mImportePato = Util.Decimal(Config.Valor("Ventas.ImportePato"));
            //bool esPato = false;
            //if (this.oControlVentas.Total >= mImportePato)
            //{
            //    var hunt = new Duck(UtilLocal.RutaRecursos() + "huntduck2.wmv");
            //    hunt.Show(Principal.Instance);
            //    esPato = true;
            //} else      // Se muestra la ventana de "Cargando.."
            Cargando.Mostrar();

            // Se procede a guardar la venta
            DateTime dAhora = DateTime.Now;
            // Se crea el objeto de la nueva venta
            Venta oVenta = new Venta()
            {
                Fecha                 = dAhora,
                ClienteID             = this.oControlVentas.Cliente.ClienteID,
                VentaEstatusID        = Cat.VentasEstatus.Realizada,
                RealizoUsuarioID      = this.oControlVentas.ctlCobro.VendodorID,
                RepartidorID          = (this.oControlVentas.ctlCobro.RepartidorID > 0 ? (int?)this.oControlVentas.ctlCobro.RepartidorID : null),
                ComisionistaClienteID = this.oControlVentas.ctlCobro.ComisionistaID,
                ClienteVehiculoID     = this.oControlVentas.ctlCobro.ClienteVehiculoID,
                Kilometraje           = this.oControlVentas.ctlCobro.Kilometraje
            };
            // Se manda a guardar la venta
            var oVentaDetalle = this.oControlVentas.GenerarVentaDetalle();

            Guardar.Venta(oVenta, oVentaDetalle);

            // Se agrega al Kardex
            // ** Se hace al momento de cobrar :\

            // Se generan los datos de pago (no en la primer versión)

            /* var oPago = this.ctlCobro.GenerarPago();
             * oPago.VentaID = oVenta.VentaID;
             * oPago.Fecha = dAhora;
             * var oPagoDetalle = this.ctlCobro.GenerarPagoDetalle();
             * // Se mandan guardar los datos del pago
             * Guardar.VentaPago(oPago, oPagoDetalle);
             */

            // Se imprimen los tickets correspondientes
            // .. aquí no hay tickets, sino hasta que se paga, creo

            // Se guarda la leyenda, para usarla en el ticket, después de cobrar
            if (this.oControlVentas.ctlCobro.Leyenda != "")
            {
                VentasProc.AgregarLeyenda(oVenta.VentaID, this.oControlVentas.ctlCobro.Leyenda);
            }

            // Se hace verificación para control de cascos
            foreach (var oReg in oVentaDetalle)
            {
                if (Datos.Exists <Parte>(c => c.ParteID == oReg.ParteID && c.RequiereCascoDe > 0 && c.Estatus))
                {
                    // Se agrega el registro para casco, uno por cada casco según la cantidad
                    for (int i = 0; i < oReg.Cantidad; i++)
                    {
                        var oCascoReg = new CascoRegistro()
                        {
                            Fecha   = dAhora,
                            VentaID = oVenta.VentaID,
                            ParteID = oReg.ParteID
                        };
                        Datos.Guardar <CascoRegistro>(oCascoReg);
                    }
                }
            }

            // Se guardan los datos de la aplicación, si hubiera
            if (this.oControlVentas.oAplicaciones != null && this.oControlVentas.oAplicaciones.Count > 0)
            {
                foreach (var oReg in this.oControlVentas.oAplicaciones)
                {
                    var oRegVentaD = oVentaDetalle.FirstOrDefault(c => c.ParteID == oReg.ParteID);
                    oReg.VentaID  = oVenta.VentaID;
                    oReg.Cantidad = oRegVentaD.Cantidad;
                    Datos.Guardar <VentaParteAplicacion>(oReg);
                }
            }

            // Se cierra la ventana de "Cargando.."
            //if(!esPato)
            Cargando.Cerrar();

            // Se muestra notificación y se limpia el formulario
            UtilLocal.MostrarNotificacion("La Venta ha sido guardada correctamente.");

            return(true);
        }
Esempio n. 20
0
 // ReSharper disable once FunctionComplexityOverflow
 public void GuardarDatos(Office.IRibbonControl control)
 {
     try
     {
         string name = Globals.ThisAddIn.Application.ActiveSheet.Name;
         if (name.Equals(@"ResumenMensual"))
         {
             //var mse = new MensajeDeEspera(() =>
             //{
             //    DialogResult continuarCancelacion = MessageBox.Show(@"¿Desea detener la operación?",
             //    @"Alerta",
             //    MessageBoxButtons.YesNoCancel,
             //    MessageBoxIcon.Question);
             //    cancelar = continuarCancelacion == DialogResult.Yes;
             //    return cancelar;
             //});
             //mse.Show();
             var sheet = Globals.ThisAddIn.Application.ActiveSheet;
             //var nInLastRow = sheet.Cells.Find("*", Missing.Value, Missing.Value, Missing.Value, XlSearchOrder.xlByRows,
             //   XlSearchDirection.xlPrevious, false, Missing.Value, Missing.Value)
             //    .Row;
             object[,] value  = sheet.Range["B7", "M11"].Value;
             object[,] value1 = sheet.Range["B16", "M20"].Value;
             object[,] value2 = sheet.Range["B25", "M29"].Value;
             object[,] value3 = sheet.Range["B34", "M38"].Value;
             object[,] value4 = sheet.Range["B43", "M47"].Value;
             var lista = new List <Guardar>();
             for (var x = 1; x <= (value.Length / 12); x++)
             {
                 Dato  = value[x, 10] == null ? "" : value[x, 10].ToString();
                 Dato2 = value[x, 11] == null ? "" : value[x, 11].ToString();
                 var id           = value[x, 12] == null ? "" : value[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value[x, 1] != null && value[x, 2] != null && value[x, 3] != null && value[x, 5] != null &&
                         value[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value[x, 2].ToString(),
                             Proceso   = value[x, 3].ToString(),
                             Direccion = value[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value1.Length / 12); x++)
             {
                 Dato  = value1[x, 10] == null ? "" : value1[x, 10].ToString();
                 Dato2 = value1[x, 11] == null ? "" : value1[x, 11].ToString();
                 var id           = value1[x, 12] == null ? "" : value1[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value1[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value1[x, 1] != null && value1[x, 2] != null && value1[x, 3] != null && value1[x, 5] != null &&
                         value1[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value1[x, 2].ToString(),
                             Proceso   = value1[x, 3].ToString(),
                             Direccion = value1[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value1[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = (id)
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value2.Length / 12); x++)
             {
                 Dato  = value2[x, 10] == null ? "" : value2[x, 10].ToString();
                 Dato2 = value2[x, 11] == null ? "" : value2[x, 11].ToString();
                 var id           = value2[x, 12] == null ? "" : value2[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value2[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value2[x, 1] != null && value2[x, 2] != null && value2[x, 3] != null && value2[x, 5] != null &&
                         value2[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value2[x, 2].ToString(),
                             Proceso   = value2[x, 3].ToString(),
                             Direccion = value2[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value2[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = (id)
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value3.Length / 12); x++)
             {
                 Dato  = value3[x, 10] == null ? "" : value3[x, 10].ToString();
                 Dato2 = value3[x, 11] == null ? "" : value3[x, 11].ToString();
                 var id           = value3[x, 12] == null ? "" : value3[x, 12].ToString();
                 var fechaguardar = Convert.ToDateTime(value3[x, 1]).ToString("yyyy-MM-dd");
                 {
                     if (value3[x, 1] != null && value3[x, 2] != null && value3[x, 3] != null && value3[x, 5] != null &&
                         value3[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value3[x, 2].ToString(),
                             Proceso   = value3[x, 3].ToString(),
                             Direccion = value3[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value3[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             for (var x = 1; x <= (value4.Length / 12); x++)
             {
                 Dato  = value4[x, 10] == null ? "" : value4[x, 10].ToString();
                 Dato2 = value4[x, 11] == null ? "" : value4[x, 11].ToString();
                 var fechaguardar = Convert.ToDateTime(value4[x, 1]).ToString("yyyy-MM-dd");
                 var id           = value4[x, 12] == null ? "" : value4[x, 12].ToString();
                 {
                     if (value4[x, 1] != null && value4[x, 2] != null && value4[x, 3] != null && value4[x, 5] != null &&
                         value4[x, 6] != null)
                     {
                         lista.Add(new Guardar
                         {
                             Fecha     = fechaguardar,
                             TipoTrade = value4[x, 2].ToString(),
                             Proceso   = value4[x, 3].ToString(),
                             Direccion = value4[x, 5].ToString(),
                             Puntos    = Convert.ToDouble(value4[x, 6]),
                             Exito     = Dato,
                             Fracaso   = Dato2,
                             Id        = id
                         });
                     }
                 }
             }
             // ReSharper disable once ForCanBeConvertedToForeach
             for (var i = 0; i < lista.Count; i++)
             {
                 if (lista[i].Id == "" && lista[i].Fecha != null && lista[i].TipoTrade != null && lista[i].Proceso != null &&
                     lista[i].Direccion != null)
                 {
                     var listaguardar = new Guardar
                     {
                         Fecha     = lista[i].Fecha,
                         TipoTrade = lista[i].TipoTrade,
                         Proceso   = lista[i].Proceso,
                         Direccion = lista[i].Direccion,
                         Puntos    = lista[i].Puntos,
                         Exito     = lista[i].Exito,
                         Fracaso   = lista[i].Fracaso
                     };
                     Opcion.EjecucionAsync(x =>
                     {
                         Reporte.Guardado(x, listaguardar);
                     }, resultado =>
                     {
                     });
                 }
                 else if ((lista[i].Id != null && lista[i].Fecha != null && lista[i].TipoTrade != null && lista[i].Proceso != null &&
                           lista[i].Direccion != null))
                 {
                     var listaguardar = new Guardar
                     {
                         Id        = lista[i].Id,
                         Fecha     = lista[i].Fecha,
                         TipoTrade = lista[i].TipoTrade,
                         Proceso   = lista[i].Proceso,
                         Direccion = lista[i].Direccion,
                         Puntos    = lista[i].Puntos,
                         Exito     = lista[i].Exito,
                         Fracaso   = lista[i].Fracaso
                     };
                     Reporte.Actualizar(listaguardar);
                 }
             }
             MessageBox.Show(@"La informacion se a guardado correctamente");
         }
         else
         {
             throw new Exception(
                       @"Debes escoger la hoja de trabajo 'ResumenMensual' para seleccionar esta opción.");
         }
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message);
     }
 }
Esempio n. 21
0
        public override bool Ejecutar()
        {
            // Se valida que el importe a pagar sea mayor que cero
            if (this.ctlCobranza.Total <= 0)
            {
                UtilLocal.MensajeAdvertencia("No hay ningún importe a pagar.");
                return(false);
            }

            // Se valida el cobro
            if (!this.ctlCobro.Validar())
            {
                return(false);
            }

            // Se valida que el pago sea en la misma sucursal que el primer abono, si hubiera
            var    oVentasACobrar = this.ctlCobranza.ObtenerVentasMarcadas();
            string sVentasOt      = "";

            foreach (var oReg in oVentasACobrar)
            {
                if (Datos.Exists <VentaPago>(c => c.VentaID == oReg.VentaID && c.Estatus && c.SucursalID != GlobalClass.SucursalID))
                {
                    sVentasOt += (", " + oReg.Folio);
                }
            }
            if (sVentasOt != "" && oVentasACobrar[0].VentaID != 270157)  // Modificaciòn temporal para no evaluar esa venta - 2015-08-24
            {
                UtilLocal.MensajeAdvertencia("Las siguientes ventas ya fueron abonadas en otra sucursal, por lo tanto aquí no se pueden cobrar.\n\n"
                                             + sVentasOt.Substring(2));
                return(false);
            }

            // Si se quiere pagar con Vales, se valida que sólo sea una venta
            var oFormasDePago = this.ctlCobro.GenerarPagoDetalle();

            if (oFormasDePago.Any(c => c.TipoFormaPagoID == Cat.FormasDePago.Vale) && oVentasACobrar.Count > 1)
            {
                UtilLocal.MensajeAdvertencia("En selecciones múltiples no se puede usar vales. Es necesario seleccionar sólo una venta.");
                return(false);
            }

            // Confirmación
            if (UtilLocal.MensajePregunta("¿Estás seguro que deseas realizar el abono indicado?") != DialogResult.Yes)
            {
                return(false);
            }

            // Se completa el cobro, por si fue pago en efectivo
            if (!this.ctlCobro.CompletarCobro())
            {
                return(false);
            }

            // Se solicita la validación de autorización, si aplica
            int iAutorizoID = 0;

            if (this.ctlCobro.AutorizacionDeNotasDeCreditoRequerida)
            {
                var Res = UtilLocal.ValidarObtenerUsuario("Autorizaciones.Ventas.Cobro.NotaDeCreditoOtroCliente", "Autorización");
                iAutorizoID = (Res.Exito ? Res.Respuesta.UsuarioID : 0);
            }

            // Se procede a guardar los datos
            DateTime dAhora = DateTime.Now;

            // Se generan los pagos para las ventas marcadas, hasta donde alcance el importe
            decimal mPago            = this.ctlCobro.Suma;
            var     oVentasAfectadas = new List <VentasACreditoView>();
            var     oPagosDetalleGen = new List <VentaPagoDetalle>();
            var     oIdsPago         = new List <int>();

            foreach (var oVentaACobrar in oVentasACobrar)
            {
                // Si la venta no tiene saldo, se salta
                if (oVentaACobrar.Restante <= 0)
                {
                    continue;
                }

                var oPago = new VentaPago()
                {
                    VentaID = oVentaACobrar.VentaID,
                    Fecha   = dAhora,
                };
                var     oPagoDetalle = new List <VentaPagoDetalle>();
                decimal mPagoForma   = 0;
                oVentaACobrar.Pagado = 0;  // Se hace cero para que sólo sume lo pagado en esta ocasión
                foreach (var oFormaDePago in oFormasDePago)
                {
                    mPagoForma = (oFormaDePago.Importe > oVentaACobrar.Restante ? oVentaACobrar.Restante : oFormaDePago.Importe);
                    if (oFormaDePago.Importe > 0)
                    {
                        oPagoDetalle.Add(new VentaPagoDetalle()
                        {
                            TipoFormaPagoID = oFormaDePago.TipoFormaPagoID,
                            Importe         = mPagoForma,
                            BancoID         = oFormaDePago.BancoID,
                            Folio           = oFormaDePago.Folio,
                            Cuenta          = oFormaDePago.Cuenta,
                            NotaDeCreditoID = oFormaDePago.NotaDeCreditoID
                        });

                        mPago -= mPagoForma;
                        oFormaDePago.Importe   -= mPagoForma;
                        oVentaACobrar.Pagado   += mPagoForma;
                        oVentaACobrar.Restante -= mPagoForma;
                        if (oVentaACobrar.Restante <= 0)
                        {
                            break;
                        }
                    }
                }
                Guardar.VentaPago(oPago, oPagoDetalle);

                // Se agrega la venta actual a las ventas afectadas
                oVentasAfectadas.Add(oVentaACobrar);
                oIdsPago.Add(oPago.VentaPagoID);
                oPagosDetalleGen.AddRange(oPagoDetalle);

                if (mPago <= 0)
                {
                    break;
                }
            }

            // Se manda a generar la póliza contable (AfeConta)
            foreach (int iPagoID in oIdsPago)
            {
                var oPagoV = Datos.GetEntity <VentasPagosView>(c => c.VentaPagoID == iPagoID);
                if (oPagoV.Facturada)
                {
                    ContaProc.CrearPolizaAfectacion(Cat.ContaAfectaciones.PagoVentaCredito, iPagoID
                                                    , (oPagoV.Folio + " / " + UtilDatos.VentaPagoFormasDePago(iPagoID)), oPagoV.Cliente);
                }

                // Si es tiecket a crédito, se hace ajuste de pólizas
                if (!oPagoV.Facturada)
                {
                    ContaProc.BorrarPolizaTemporalTicketCredito(oPagoV.VentaID);
                    var oVentaV = Datos.GetEntity <VentasView>(c => c.VentaID == oPagoV.VentaID);
                    if (oVentaV.VentaEstatusID == Cat.VentasEstatus.Cobrada)
                    {
                        ContaProc.CrearPolizaTemporalTicketCredito(oPagoV.VentaID, (oVentaV.Total - oVentaV.Pagado));
                    }
                }
            }

            // Se guardan la autorizaciones aplicables
            if (this.ctlCobro.AutorizacionDeNotasDeCreditoRequerida)
            {
                // Se agrega una autorización por cada nota de otro cliente
                var oNotasOC = this.ctlCobro.NotasDeCreditoOtrosClientes();
                foreach (var oNotaOC in oNotasOC)
                {
                    VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.NotaDeCreditoOtroClienteUsar, Cat.Tablas.NotaDeCredito, oNotaOC, iAutorizoID);
                }
            }

            // Se guardan los datos del cobro, para reimpresión de tickets
            string sFolioCob = VentasProc.GenerarFolioDeCobranza();
            int    iCuenta   = 0;

            foreach (var oVentaAf in oVentasAfectadas)
            {
                Datos.Guardar <CobranzaTicket>(new CobranzaTicket()
                {
                    Ticket      = sFolioCob,
                    VentaID     = oVentaAf.VentaID,
                    ClienteID   = this.Cliente.ClienteID,
                    Folio       = oVentaAf.Folio,
                    Fecha       = oVentaAf.Fecha,
                    Vencimiento = oVentaAf.Vencimiento,
                    Total       = oVentaAf.Total,
                    Pagado      = oVentaAf.Pagado,
                    Restante    = oVentaAf.Restante,
                    VentaPagoID = oIdsPago[iCuenta++]
                });
            }

            // Se genera el ticket correspondiente
            VentasLoc.GenerarTicketCobranza(sFolioCob);

            // Si se pagó con vale, se verifica si se crearon nuevos vales por importes restantes. Y se mandan a imprimir
            var oValesCreados = VentasProc.ObtenerValesCreados(oPagosDetalleGen);

            foreach (var oReg in oValesCreados)
            {
                VentasLoc.GenerarTicketNotaDeCredito(oReg.NotaDeCreditoID);
            }

            // Se muestra una notifiación con el resultado
            UtilLocal.MostrarNotificacion("Procedimiento completado correctamente.");

            // Se limpia después de haberse guardado
            this.Limpiar();

            return(true);
        }
Esempio n. 22
0
        private bool AgregarGarantia()
        {
            // Se valida la parte de detalle
            if (!this.ctlDetalle.Validar())
            {
                return(false);
            }
            // Se valida la parte de búsqueda
            if (!this.ctlBusqueda.Validar())
            {
                return(false);
            }
            // Se valida que sólo esté seleccionada una parte
            if (this.ctlDetalle.ProductosSel().Count > 1)
            {
                UtilLocal.MensajeAdvertencia("Debes seleccionar sólo un producto al hacer una garantía.");
                return(false);
            }

            // Se verifica si se creará vale, para pedir el cliente en caso de que no haya
            var oGarantia      = this.ctlBusqueda.GenerarGarantia();
            int iVentaID       = this.ctlBusqueda.VentaID;
            var oVentaV        = Datos.GetEntity <VentasView>(q => q.VentaID == iVentaID);
            int iValeClienteID = oVentaV.ClienteID;

            if ((oGarantia.AccionID == Cat.VentasGarantiasAcciones.ArticuloNuevo || oGarantia.AccionID == Cat.VentasGarantiasAcciones.NotaDeCredito) &&
                iValeClienteID == Cat.Clientes.Mostrador)
            {
                iValeClienteID = VentasLoc.ObtenerClienteID("Selecciona el cliente para crear el Vale:", false);
                if (iValeClienteID == 0)
                {
                    return(false);
                }
            }

            // Se pregunta el usuario que realiza la devolución
            int iUsuarioID = 0;
            var ResU       = UtilLocal.ValidarObtenerUsuario("Ventas.Garantia.Agregar");

            if (ResU.Error)
            {
                return(false);
            }
            iUsuarioID = ResU.Respuesta.UsuarioID;

            // Se solicita la autorización
            int iAutorizoID = 0;

            ResU = UtilLocal.ValidarObtenerUsuario("Autorizaciones.Ventas.Garantia.Agregar", "Autorización");
            if (ResU.Exito)
            {
                iAutorizoID = ResU.Respuesta.UsuarioID;
            }

            // Se procede a guardar los cambios
            DateTime dAhora = DateTime.Now;

            // Se genera la garantía
            oGarantia.Fecha             = dAhora;
            oGarantia.RealizoUsuarioID  = iUsuarioID;
            oGarantia.EstatusGenericoID = Cat.EstatusGenericos.Recibido;
            // Se llenan los datos de la parte
            var oProducto = this.ctlDetalle.ProductosSel()[0];

            oGarantia.ParteID           = oProducto.ParteID;
            oGarantia.Costo             = oProducto.Costo;
            oGarantia.CostoConDescuento = oProducto.CostoConDescuento;
            oGarantia.PrecioUnitario    = oProducto.PrecioUnitario;
            oGarantia.Iva = oProducto.Iva;

            // Se guarda la garantía
            Guardar.VentaGarantia(oGarantia);

            // Si queda a revisión del proveedor, ya no se hace nada más que mandar el ticket
            if (oGarantia.AccionID != Cat.VentasGarantiasAcciones.RevisionDeProveedor)
            {
                this.CompletarAccionGarantia(oGarantia.VentaGarantiaID, iValeClienteID);
            }

            // Se mete un registro en kárdex, en cero, sólo para mantener historial de la operación
            var oKardex = new ParteKardex()
            {
                ParteID          = oGarantia.ParteID,
                OperacionID      = Cat.OperacionesKardex.VentaCancelada,
                SucursalID       = oGarantia.SucursalID,
                Folio            = oVentaV.Folio,
                Fecha            = dAhora,
                RealizoUsuarioID = iUsuarioID,
                Entidad          = oVentaV.Cliente,
                Origen           = oVentaV.Sucursal,
                Destino          = "GARANTÍA RECIBIDA",
                Cantidad         = 0,
                Importe          = (oGarantia.PrecioUnitario + oGarantia.Iva),
                RelacionTabla    = Cat.Tablas.VentaGarantia,
                RelacionID       = oGarantia.VentaGarantiaID
            };

            AdmonProc.RegistrarKardex(oKardex);

            // Se guarda la autorización, si aplica
            VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.Garantia, Cat.Tablas.VentaGarantia, oGarantia.VentaGarantiaID, iAutorizoID);
            // Se genera el ticket correspondiente
            VentasLoc.GenerarTicketGarantia(oGarantia.VentaGarantiaID);

            return(true);
        }
Esempio n. 23
0
        public ActionResult Index(Guardar Model, elmentinput boton, EditarUsuario Edita, EliminaUsuario Elimina)

        {
            if (boton.btn == "Guardar")
            {
                try
                {
                    Model.tipo = "Cliente";
                    string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
                    using (MySqlConnection con = new MySqlConnection(constr))
                    {
                        Response.Write(Model.id_Usuario);
                        string query = "INSERT INTO prolos.tb_usuario(id_usuario,nombre,apellido,correo,tipo,contraseña) VALUES ('" + Model.id_Usuario + "','" + Model.nombre + "','" + Model.apellido + "','" + Model.correo + "','" + Model.tipo + "','" + Model.contraseña + "');";

                        {
                            MySqlConnection MyConn   = new MySqlConnection(constr);
                            MySqlCommand    MyComand = new MySqlCommand(query, MyConn);
                            MySqlDataReader myReader;
                            MyConn.Open();
                            myReader = MyComand.ExecuteReader();

                            while (myReader.Read())
                            {
                            }
                            MyConn.Close();
                        }
                    }

                    return(Json(new { success = true }));
                }
                catch (Exception)
                {
                    return(Json(new { success = false }));
                }
            }
            else if (boton.btn == "Editar")
            {
                try
                {
                    string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
                    using (MySqlConnection con = new MySqlConnection(constr))
                    {
                        string query1 = "UPDATE prolos.tb_usuario SET nombre = '" + Edita.nomb + "', apellido = '" + Edita.ape + "', correo = '" + Edita.cor + "', contraseña = '" + Edita.cont + "' where id_usuario = '" + Edita.id_user + "';";

                        {
                            MySqlConnection MyConn   = new MySqlConnection(constr);
                            MySqlCommand    MyComand = new MySqlCommand(query1, MyConn);
                            MySqlDataReader myReader;
                            MyConn.Open();
                            myReader = MyComand.ExecuteReader();

                            while (myReader.Read())
                            {
                            }
                            MyConn.Close();
                        }
                    }
                    return(Json(new { success = true }));
                }
                catch
                {
                    return(Json(new { success = false }));
                }
            }
            else if (boton.btn == "Eliminar")
            {
                //eliminar
                try
                {
                    string constr = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
                    using (MySqlConnection con = new MySqlConnection(constr))
                    {
                        Response.Write(Elimina.id_usu);
                        string query2 = "delete from prolos.tb_usuario where id_usuario= '" + Elimina.id_usu + "';";

                        {
                            MySqlConnection MyConn   = new MySqlConnection(constr);
                            MySqlCommand    MyComand = new MySqlCommand(query2, MyConn);
                            MySqlDataReader myReader;
                            MyConn.Open();
                            myReader = MyComand.ExecuteReader();

                            while (myReader.Read())
                            {
                            }
                            MyConn.Close();
                        }
                    }
                    return(Json(new { success = true }));
                }
                catch
                {
                    return(Json(new { success = false }));
                }
            }
            return(RedirectToAction("Usuario", "Index"));
        }
Esempio n. 24
0
        private void MenuGuardarPreview_CheckedChanged(object sender, EventArgs e)
        {
            var bt = (ToolStripMenuItem)sender;

            GuardarComo = bt.Checked ? Guardar.Preview : Guardar.Contabilizado;
        }
Esempio n. 25
0
        private void Importar()
        {
            string sColumnasFalt = this.ValidarColumnas();

            if (sColumnasFalt != "")
            {
                UtilLocal.MensajeAdvertencia("El archivo especificado no tiene el formato correcto. Falta especificar las siguientes columnas:\n\n" + sColumnasFalt);
                return;
            }

            this.HabilitarControlesProceso(false);
            this.prgProgreso.Inicializar(this.dgvProceso.Rows.Count, 1);

            foreach (DataGridViewRow oFila in this.dgvProceso.Rows)
            {
                this.prgProgreso.EjecutarPaso(true);

                if (oFila.DefaultCellStyle.ForeColor == Color.Green)
                {
                    continue;
                }

                // Se valida que no se repita el número de parte
                string sNumeroDeParte = Util.Cadena(oFila.Cells["NumeroDeParte"].Value);
                if (Datos.Exists <Parte>(c => c.NumeroParte == sNumeroDeParte && c.Estatus))
                {
                    if (UtilLocal.MensajePregunta(string.Format("El Número de Parte especificado ya existe. Aún así deseas importar el registro: {0} - {1}"
                                                                , oFila.Cells["NumeroDeParte"].Value, oFila.Cells["Nombre"].Value)) != DialogResult.Yes)
                    {
                        this.PonerErrorFila(oFila, "El número de parte especificado ya existe en la base de datos. Revisar.");
                        continue;
                    }
                }
                // Se obtiene los Ids (Proveedor, Marca, ..)
                string sProveedor = Util.Cadena(oFila.Cells["Proveedor"].Value);
                var    oProveedor = Datos.GetEntity <Proveedor>(c => c.NombreProveedor == sProveedor && c.Estatus);
                if (oProveedor == null)
                {
                    this.PonerErrorFila(oFila, "El Proveedor especificado es inválido.");
                    continue;
                }
                string sMarca = Util.Cadena(oFila.Cells["Marca"].Value);
                var    oMarca = Datos.GetEntity <MarcaParte>(c => c.NombreMarcaParte == sMarca && c.Estatus);
                if (oMarca == null)
                {
                    this.PonerErrorFila(oFila, "La Marca especificada es inválida.");
                    continue;
                }
                string sLinea = Util.Cadena(oFila.Cells["Linea"].Value);
                var    oLinea = Datos.GetEntity <Linea>(c => c.NombreLinea == sLinea && c.Estatus);
                if (oLinea == null)
                {
                    this.PonerErrorFila(oFila, "La Línea especificada es inválida.");
                    continue;
                }
                string sSubsistema = Util.Cadena(oFila.Cells["Subsistema"].Value);
                var    oSubsistema = Datos.GetEntity <Subsistema>(c => c.NombreSubsistema == sSubsistema && c.Estatus);
                if (oSubsistema == null)
                {
                    this.PonerErrorFila(oFila, "El Subsistema especificado es inválido.");
                    continue;
                }
                string sUnidadDeMedida = Util.Cadena(oFila.Cells["UnidadDeMedida"].Value);
                var    oUnidadDeMedida = Datos.GetEntity <Medida>(c => c.NombreMedida == sUnidadDeMedida && c.Estatus);
                if (oUnidadDeMedida == null)
                {
                    this.PonerErrorFila(oFila, "La Unidad de Medida es inválida.");
                    continue;
                }

                // Se genera el registro de la parte
                var oParte = new Parte()
                {
                    NumeroParte    = Util.Cadena(oFila.Cells["NumeroDeParte"].Value),
                    NombreParte    = Util.Cadena(oFila.Cells["Nombre"].Value),
                    ProveedorID    = oProveedor.ProveedorID,
                    MarcaParteID   = oMarca.MarcaParteID,
                    LineaID        = oLinea.LineaID,
                    SubsistemaID   = oSubsistema.SubsistemaID,
                    MedidaID       = oUnidadDeMedida.MedidaID,
                    UnidadEmpaque  = Util.Entero(oFila.Cells["UnidadDeEmpaque"].Value),
                    AplicaComision = (Util.Cadena(oFila.Cells["AplicaComision"].Value).ToLower() == PartesImportar.CadenaVerdadero),
                    Etiqueta       = (Util.Cadena(oFila.Cells["Etiqueta"].Value).ToLower() == PartesImportar.CadenaVerdadero),
                    Es9500         = true
                };
                // Se genera el registro del precio
                var oPartePrecio = new PartePrecio()
                {
                    Costo = Util.Decimal(oFila.Cells["Costo"].Value),
                    PorcentajeUtilidadUno    = Util.Decimal(oFila.Cells["PorUtil1"].Value),
                    PorcentajeUtilidadDos    = Util.Decimal(oFila.Cells["PorUtil2"].Value),
                    PorcentajeUtilidadTres   = Util.Decimal(oFila.Cells["PorUtil3"].Value),
                    PorcentajeUtilidadCuatro = Util.Decimal(oFila.Cells["PorUtil4"].Value),
                    PorcentajeUtilidadCinco  = Util.Decimal(oFila.Cells["PorUtil5"].Value),
                    PrecioUno    = Util.Decimal(oFila.Cells["Precio1"].Value),
                    PrecioDos    = Util.Decimal(oFila.Cells["Precio2"].Value),
                    PrecioTres   = Util.Decimal(oFila.Cells["Precio3"].Value),
                    PrecioCuatro = Util.Decimal(oFila.Cells["Precio4"].Value),
                    PrecioCinco  = Util.Decimal(oFila.Cells["Precio5"].Value),
                };
                // Se guardan los datos
                Guardar.Parte(oParte, oPartePrecio);
                // Se colorea la fila
                oFila.ErrorText = "";
                oFila.DefaultCellStyle.ForeColor = Color.Green;
            }

            this.prgProgreso.EjecutarPaso(false);
            this.HabilitarControlesProceso(true);
        }
Esempio n. 26
0
        private void actualizarParteMxMnCriterio(int parteMxMnID, string criterios)
        {
            if (string.IsNullOrEmpty(criterios))
            {
                return;
            }

            Match match = Regex.Match(criterios, @"^(\d+,)*\d+$");

            if (!match.Success)
            {
                return;
            }

            var values = criterios.Split(',');

            try
            {
                var actuales       = General.GetListOf <ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID);
                var selectedValues = new Dictionary <string, int>();

                foreach (var item in values)
                {
                    selectedValues.Add(item, (int)operaciones.Add);
                }

                foreach (var item in actuales)
                {
                    if (selectedValues.ContainsKey(item.MxMnCriterioID.ToString()))
                    {
                        selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.None;
                    }
                    else
                    {
                        selectedValues[item.MxMnCriterioID.ToString()] = (int)operaciones.Delete;
                    }
                }

                foreach (var item in selectedValues)
                {
                    if (item.Value == (int)operaciones.Add) //add new
                    {
                        var mxmnc = new ParteMxMnCriterio
                        {
                            ParteMxMnID    = parteMxMnID,
                            MxMnCriterioID = Helper.ConvertirEntero(item.Key)
                        };
                        Guardar.Generico <ParteMxMnCriterio>(mxmnc);
                    }
                    else if (item.Value == (int)operaciones.Delete) //search and delete
                    {
                        var id         = Helper.ConvertirEntero(item.Key);
                        var partemxmnc = General.GetEntity <ParteMxMnCriterio>(p => p.ParteMxMnID == parteMxMnID && p.MxMnCriterioID == id);
                        if (partemxmnc != null)
                        {
                            General.Delete <ParteMxMnCriterio>(partemxmnc);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Helper.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Esempio n. 27
0
        protected override void btnGuardar_Click(object sender, EventArgs e)
        {
            if (!Validaciones())
            {
                return;
            }

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

            if (res.Equals(DialogResult.No))
            {
                return;
            }

            SplashScreen.Show(new Splash());
            this.btnGuardar.Enabled = false;

            try
            {
                /*
                 * var listaSeleccion = new List<int>();
                 * listaSeleccion.Add(Parte.ParteID);
                 * foreach (var fila in dgvSeleccion.Rows)
                 * {
                 *  var equivalente = (DataGridViewRow)fila;
                 *  listaSeleccion.Add(Util.ConvertirEntero(equivalente.Cells["ParteID"].Value));
                 * }
                 * //Almacenar: Todos contra todos
                 * foreach (var parteId in listaSeleccion)
                 * {
                 *  foreach (var parteIdComparar in listaSeleccion)
                 *  {
                 *      var equivalente = General.GetEntity<ParteEquivalente>(p => p.ParteID == parteId && p.ParteIDequivalente == parteIdComparar);
                 *      if (equivalente == null)
                 *      {
                 *          var equivalencia = new ParteEquivalente()
                 *          {
                 *              ParteID = parteId,
                 *              ParteIDequivalente = parteIdComparar
                 *          };
                 *          Datos.Guardar<ParteEquivalente>(equivalencia);
                 *      }
                 *  }
                 * }
                 */

                // Nueva modalidad de equivalentes - Moisés
                int iParteID = this.Parte.ParteID;
                foreach (DataGridViewRow oFila in this.dgvSeleccion.Rows)
                {
                    int iParteIDEq = Util.Entero(oFila.Cells["ParteID"].Value);
                    Guardar.ParteEquivalencia(iParteID, iParteIDEq);
                }
                //

                SplashScreen.Close();
                this.btnGuardar.Enabled = true;
                new Notificacion("Equivalentes guardados exitosamente", 2 * 1000).Mostrar(Principal.Instance);
            }
            catch (Exception ex)
            {
                SplashScreen.Close();
                this.btnGuardar.Enabled = true;
                Util.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
            this.Close();
        }
Esempio n. 28
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                var res = Helper.MensajePregunta("¿Está seguro de que la información es correcta?", GlobalClass.NombreApp);
                if (res == DialogResult.No)
                {
                    return;
                }

                SplashScreen.Show(new Splash());
                this.btnGuardar.Enabled = false;
                this.Cursor             = Cursors.WaitCursor;

                foreach (DataGridViewRow row in this.dgvDatos.Rows)
                {
                    if (Helper.ConvertirBool(row.Cells["Sel"].Value).Equals(true))
                    {
                        var parteId    = Helper.ConvertirEntero(row.Cells["ParteID"].Value);
                        var sucursalId = Helper.ConvertirEntero(row.Cells["SucursalID"].Value);

                        //Actualizar tabla ParteExistencia, campos Maximo y Minimo
                        var parteExistencia = General.GetEntity <ParteExistencia>(p => p.ParteID == parteId && p.SucursalID == sucursalId);
                        if (null != parteExistencia)
                        {
                            parteExistencia.Maximo = Helper.ConvertirEntero(row.Cells["MAX"].Value);
                            parteExistencia.Minimo = Helper.ConvertirEntero(row.Cells["MIN"].Value);
                            Guardar.Generico <ParteExistencia>(parteExistencia);
                        }

                        //Actualizar tabla Parte, campo TiempoReposicion
                        var parte = General.GetEntity <Parte>(p => p.ParteID == parteId);
                        if (null != parte)
                        {
                            parte.TiempoReposicion = Helper.ConvertirDecimal(row.Cells["TiempoReposicion"].Value);
                            Guardar.Generico <Parte>(parte);
                        }

                        var mxmn = General.GetEntity <ParteMxMn>(p => p.ParteID == parteId && p.SucursalID == sucursalId && p.Estatus);

                        int? max  = null;
                        int? min  = null;
                        bool fijo = false;
                        if (Helper.ConvertirBool(row.Cells["Fijo"].Value).Equals(true))
                        {
                            fijo = true;
                            if (!string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["MAX"].Value)))
                            {
                                max = Helper.ConvertirEntero(row.Cells["MAX"].Value);
                            }
                            if (!string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["MIN"].Value)))
                            {
                                min = Helper.ConvertirEntero(row.Cells["MIN"].Value);
                            }
                        }

                        if (null == mxmn) //Nuevo registro
                        {
                            mxmn = new ParteMxMn()
                            {
                                EsFijo     = fijo,
                                ParteID    = parteId,
                                SucursalID = sucursalId,
                                Criterio   = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["Criterio"].Value)) ? Helper.ConvertirCadena(row.Cells["Criterio"].Value) : null,
                                AjusteMn   = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["AjusteMn"].Value)) ? Helper.ConvertirCadena(row.Cells["AjusteMn"].Value) : null,
                                AjusteMx   = !string.IsNullOrEmpty(Helper.ConvertirCadena(row.Cells["AjusteMx"].Value)) ? Helper.ConvertirCadena(row.Cells["AjusteMx"].Value) : null,
                                Maximo     = max,
                                Minimo     = min
                            };
                        }
                        else
                        {
                            mxmn.EsFijo   = fijo;
                            mxmn.Criterio = Helper.ConvertirCadena(row.Cells["Criterio"].Value);
                            mxmn.AjusteMn = Helper.ConvertirCadena(row.Cells["AjusteMn"].Value);
                            mxmn.AjusteMx = Helper.ConvertirCadena(row.Cells["AjusteMx"].Value);
                            mxmn.Maximo   = max;
                            mxmn.Minimo   = min;
                        }
                        Guardar.Generico <ParteMxMn>(mxmn);
                        this.actualizarParteMxMnCriterio(mxmn.ParteMxMnID, Helper.ConvertirCadena(row.Cells["CriteriosGenerales"].Value));
                    }
                }

                this.Cursor = Cursors.Default;
                SplashScreen.Close();
                this.btnGuardar.Enabled = true;
                new Notificacion("Información almacenada correctamente.", 2 * 1000).Mostrar(Principal.Instance);
                this.CargaInicial();
            }
            catch (Exception ex)
            {
                this.Cursor = Cursors.Default;
                SplashScreen.Close();
                this.btnGuardar.Enabled = true;
                Helper.MensajeError(ex.Message, GlobalClass.NombreApp);
            }
        }
Esempio n. 29
0
        private void GuardarDevolucion(VentaDevolucion oDevolucion, List <VentaDevolucionDetalle> oDetalle, int?iValeClienteID)
        {
            // Se obtiene el importe total de la venta antes de la devolución
            var oVentaV = Datos.GetEntity <VentasView>(c => c.VentaID == oDevolucion.VentaID);
            // decimal mTotalAntes = oVentaV.Total;

            // Se calcula el total de lo devuelto
            decimal mImporteDev = 0;

            foreach (var oParte in oDetalle)
            {
                mImporteDev += ((oParte.PrecioUnitario + oParte.Iva) * oParte.Cantidad);
            }
            // Se guarda la devolución
            Guardar.VentaDevolucion(oDevolucion, oDetalle);

            // Se verifica cuánto se ha pagado de la venta, por si fue a crédito
            if (oVentaV.Pagado < mImporteDev)
            {
                mImporteDev = oVentaV.Pagado;
            }

            // Se genera nota de crédito o devolución de efectivo, u otro, según aplique
            int iVentaID = oDevolucion.VentaID;

            if (mImporteDev > 0)
            {
                ResAcc <int> oResPagoNeg = null;
                switch (this.ctlBusqueda.FormaDeDevolucion)
                {
                case Cat.FormasDePago.Efectivo:
                    oResPagoNeg = VentasProc.GenerarDevolucionDeEfectivo(iVentaID, mImporteDev);
                    break;

                case Cat.FormasDePago.Vale:
                    // var oVenta = General.GetEntity<Venta>(q => q.Estatus && q.VentaID == iVentaID);
                    var oResVale = VentasProc.GenerarNotaDeCredito(iValeClienteID.Value, mImporteDev, "", Cat.OrigenesNotaDeCredito.Devolucion
                                                                   , oDevolucion.VentaDevolucionID);
                    // Se genera el pago negativo por la nota de crédito generada
                    oResPagoNeg = VentasProc.GenerarPagoNegativoPorNotaDeCredito(iVentaID, mImporteDev, oResVale.Respuesta);
                    break;

                case Cat.FormasDePago.Cheque:
                case Cat.FormasDePago.Tarjeta:
                case Cat.FormasDePago.TarjetaDeDebito:
                case Cat.FormasDePago.Transferencia:
                    int iFormaDePagoID = this.ctlBusqueda.FormaDeDevolucion;
                    var oVentaPago     = Datos.GetEntity <VentaPago>(q => q.VentaID == iVentaID && q.Estatus);
                    var oFormaPago     = Datos.GetEntity <VentaPagoDetalle>(q => q.VentaPagoID == oVentaPago.VentaPagoID &&
                                                                            q.TipoFormaPagoID == iFormaDePagoID && q.Estatus);
                    // Se genera un pago negativo con la misma forma del pago a contrarestar
                    oResPagoNeg = VentasProc.GenerarPago(iVentaID, (oFormaPago.Importe * -1), iFormaDePagoID, oFormaPago.BancoID.Valor(), oFormaPago.Folio, oFormaPago.Cuenta);
                    break;
                }

                // Se guarda el dato del pago negativo correspondiente a la devolución, si aplica
                if (oResPagoNeg != null)
                {
                    // Se obtiene el primer registro de VentaPagoDetalle, y ese es el que se relaciona con la devolución, pues se supone que siempre habrá sólo uno
                    var oPagoDet = Datos.GetEntity <VentaPagoDetalle>(c => c.VentaPagoID == oResPagoNeg.Respuesta && c.Estatus);
                    oDevolucion.VentaPagoDetalleID = oPagoDet.VentaPagoDetalleID;
                    Datos.Guardar <VentaDevolucion>(oDevolucion);
                }
            }

            // Se revisa si la venta pertenece a un 9500, para realizar operaciones especiales
            var o9500 = Datos.GetEntity <Cotizacion9500>(c => c.VentaID == iVentaID && c.Estatus);

            // Si es 9500, se cambia el estatus del 9500
            if (o9500 != null)
            {
                o9500.EstatusGenericoID = Cat.EstatusGenericos.CanceladoDespuesDeVendido;
                Datos.Guardar <Cotizacion9500>(o9500);
            }

            // Se verifica si la venta generó un movimiento bancario, para borrarlo si éste no ha sido asignado
            if (oDevolucion.EsCancelacion)
            {
                var oPagoDetV = Datos.GetListOf <VentasPagosDetalleView>(c => c.VentaID == iVentaID);
                foreach (var oReg in oPagoDetV)
                {
                    if (oReg.FormaDePagoID == Cat.FormasDePago.Cheque || oReg.FormaDePagoID == Cat.FormasDePago.Tarjeta || oReg.FormaDePagoID == Cat.FormasDePago.Transferencia)
                    {
                        var oMov = Datos.GetEntity <BancoCuentaMovimiento>(c => c.RelacionTabla == Cat.Tablas.VentaPagoDetalle && c.RelacionID == oReg.VentaPagoDetalleID);
                        if (oMov != null && !oMov.FechaAsignado.HasValue)
                        {
                            Datos.Eliminar <BancoCuentaMovimiento>(oMov);
                        }
                    }
                }
            }
        }
Esempio n. 30
0
        private bool Completar9500()
        {
            // Se validan las partes
            if (!this.ctlComDetalle.Validar())
            {
                return(false);
            }

            //if (Util.ControlAlFrente(this.pnlCompletar) == this.ctlComDetalle)
            //{
            //}

            // Se verifica que se haya hecho el pago del anticipo
            Cotizacion9500 o9500 = this.ctlPartes.oCotizacion9500;

            if (!Datos.Exists <Venta>(c => c.VentaID == o9500.AnticipoVentaID &&
                                      (c.VentaEstatusID == Cat.VentasEstatus.Completada || c.VentaEstatusID == Cat.VentasEstatus.Cobrada)))
            {
                UtilLocal.MensajeAdvertencia("Al parecer no se ha realizado el pago correspondiente al Anticipo. No se puede continuar.");
                return(false);
            }

            // Se confirma la operación
            if (UtilLocal.MensajePregunta(string.Format("¿Estás seguro que deseas completar el 9500 con el folio {0}?\n\n{1}"
                                                        , this.ctlPartes.oCotizacion9500.Cotizacion9500ID, this.ctlPartes.o9500Sel["lisDescripcion"])) != DialogResult.Yes)
            {
                return(false);
            }

            // Se guardan los datos
            DateTime dAhora = DateTime.Now;

            // Se cancela la venta del anticipo

            /* Ya no. Ahora todo esto se hace al cobrar la venta final
             * oVenta.VentaEstatusID = Cat.VentasEstatus.Cancelada;
             * Datos.Guardar<Venta>(oVenta);
             * // Se genera una devolución de efectivo (si se realizó un pago) de la venta cancelada, pues se generará una nueva venta con el importe total
             * if (oVentaPago != null)
             *  VentasProc.GenerarDevolucionDeEfectivo(o9500.AnticipoVentaID.Valor(), o9500.Anticipo);
             */

            // Se genera la venta correspondiente al 9500
            // var o9500Detalle = General.GetListOf<Cotizacion9500Detalle>(q => q.Estatus && q.Cotizacion9500ID == oCotizacion9500.Cotizacion9500ID);
            var oCliente = Datos.GetEntity <Cliente>(q => q.ClienteID == o9500.ClienteID && q.Estatus);
            var oDetalle = this.ctlComDetalle.ProductosSel();
            var oVenta   = new Venta()
            {
                Fecha                 = dAhora,
                ClienteID             = o9500.ClienteID,
                VentaEstatusID        = Cat.VentasEstatus.Realizada,
                RealizoUsuarioID      = o9500.RealizoUsuarioID,
                ComisionistaClienteID = o9500.ComisionistaClienteID
            };
            var oVentaDetalle = new List <VentaDetalle>();

            foreach (var oParte in oDetalle)
            {
                // Se toma el precio de la tabla "PartePrecio", pues pudo haber sido cambiado por el encargado de Compras
                var     oPartePrecio = Datos.GetEntity <PartePrecio>(q => q.ParteID == oParte.ParteID);
                decimal mPrecio      = UtilDatos.PartePrecioDeVenta(oPartePrecio, oCliente.ListaDePrecios);
                // Se agrega la parte al detalle de la venta
                oVentaDetalle.Add(new VentaDetalle()
                {
                    ParteID           = oParte.ParteID,
                    Costo             = oPartePrecio.Costo.Valor(),
                    CostoConDescuento = (oPartePrecio.CostoConDescuento ?? oPartePrecio.Costo.Valor()),
                    Cantidad          = oParte.Cantidad,
                    PrecioUnitario    = UtilTheos.ObtenerPrecioSinIva(mPrecio, 3),
                    Iva = UtilTheos.ObtenerIvaDePrecio(mPrecio, 3)
                });
            }
            // Se guarda la venta
            Guardar.Venta(oVenta, oVentaDetalle);

            // Se modifica el dato de la venta correspondiente al 9500
            o9500.VentaID           = oVenta.VentaID;
            o9500.EstatusGenericoID = Cat.EstatusGenericos.PorCompletar;
            Datos.Guardar <Cotizacion9500>(o9500);

            // Se restaura
            this.ctlPartes.ComCliente = null;
            this.pnlEnTotales.Controls.Remove(this.pnlCompletar);
            this.pnlCompletar.Dispose();
            this.pnlCompletar = null;
            this.CambiarOpcion(eOpcion.Agregar);
            this.ctlPartes.tab9500.SelectedIndex = 0;

            // Se muestra una notifiación con el resultado
            UtilLocal.MostrarNotificacion("Cotización 9500 guardada correctamente.");

            // Se retorna falso para que no se quite la opción de 9500
            return(false);
        }