private void Grafico_DoubleClick(object sender, EventArgs e) { if (Guardar.ShowDialog() == DialogResult.OK) { Grafico.SaveImage(Guardar.FileName, ChartImageFormat.Png); } }
private void Imprimir_Click(object sender, EventArgs e) { cancelar.Hide(); Guardar.Hide(); CaptureScreen(); printDocument1.Print(); }
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(); }
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(); }
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. } }
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(); } }
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); } }
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; }
//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); } } }
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"); } }); }
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"); } }); }
//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; } }
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); } }
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); }
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); }
// 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); } }
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); }
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); }
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")); }
private void MenuGuardarPreview_CheckedChanged(object sender, EventArgs e) { var bt = (ToolStripMenuItem)sender; GuardarComo = bt.Checked ? Guardar.Preview : Guardar.Contabilizado; }
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); }
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); } }
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(); }
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); } }
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); } } } } }
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); }