private void CalculaTotales() { //controladores partidas = ventapController.SelectPartidas(venta.VentaId); if (venta == null || partidas == null) { return; } else { venta.Unidades = 0; venta.SubTotal = 0; venta.Impuesto = 0; venta.Total = 0; foreach (var partida in partidas) { partida.SubTotal = partida.Cantidad * partida.Precio; partida.ImporteImpuesto1 = partida.SubTotal * partida.Impuesto1; partida.ImporteImpuesto2 = partida.SubTotal * partida.Impuesto2; partida.Total = partida.SubTotal + partida.ImporteImpuesto1 + partida.ImporteImpuesto2; //sumar el total por partida a los totales de la venta venta.Unidades += partida.Cantidad; venta.SubTotal += partida.SubTotal; venta.Impuesto += partida.ImporteImpuesto1 + partida.ImporteImpuesto2; venta.Total += partida.SubTotal + partida.ImporteImpuesto1 + partida.ImporteImpuesto2; } venta.EstadoDocId = "CON"; venta.TotalConLetra = moneda.Convertir(venta.Total.ToString(), true); venta.Pago1 = venta.Total; using (var db = new DymContext()) { db.Update(venta); db.SaveChanges(); db.UpdateRange(partidas); db.SaveChanges(); } } }
public static void ActualizaCierresInventario() { try { using (var db = new DymContext()) { var cpendientes1 = db.CierreInventario.Where(x => x.Etapa1Generada == false).ToList(); foreach (var c in cpendientes1) { if (c.FechaInicial.Month == DateTime.Now.Month) { if (!c.Etapa1Generada) { foreach (var p in db.Producto.ToList()) { var cierreInventariop = new CierreInventariop(); cierreInventariop.CierreInventarioId = c.CierreInventarioId; cierreInventariop.ProductoId = p.ProductoId; cierreInventariop.Descripcion = p.Descripcion; cierreInventariop.InvInicial = p.Stock; cierreInventariop.Entradas = 0; cierreInventariop.Salidas = 0; cierreInventariop.UltimoCosto = p.UltimoCosto; cierreInventariop.PrevioVta = p.Precio1; cierreInventariop.ValorCosto = 0; cierreInventariop.ValorVenta = 0; db.Add(cierreInventariop); } c.Etapa1Generada = true; MessageBox.Show("INVENTARIO DE CIERRE GENERADO"); db.SaveChanges(); } } } var cpendientes2 = db.CierreInventario.Where(x => x.Etapa1Generada == true && x.Etapa2Generada == false).ToList(); foreach (var c in cpendientes2) { if (c.FechaProgramacion.Date <= DateTime.Now.Date) { if (!c.Etapa2Generada) { MessageBox.Show("EL SISTEMA INICÍO EL MANTENIMIENTO MENSUAL \n" + " LE SUPLICAMOS NO CIERRE EL SISTEMA, " + " INCLUSO SI USTEN NO VE ACTIVIDAD SIMPLEMENTE ESPERE\n" + " ESTO TOMARÁ UN PAR DE MINUTOS" , "NO CERRAR EL SISTEMA", MessageBoxButtons.OK); //****************Nuevo cierre inventario********************** var ncierreInventario = new CierreInventario(); //var ini = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); ncierreInventario.FechaInicial = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); ncierreInventario.FechaFinal = ncierreInventario.FechaInicial.AddMonths(1).AddDays(-1); ncierreInventario.FechaProgramacion = ncierreInventario.FechaFinal.AddDays(1); ncierreInventario.Etapa1Generada = true; ncierreInventario.Etapa2Generada = false; ncierreInventario.CreatedAt = DateTime.Now; ncierreInventario.CreatedBy = "SYS"; ncierreInventario.EstacionId = "SYS"; db.Add(ncierreInventario); // db.SaveChanges(); var productos = db.Producto.ToList(); foreach (var pr in productos) { var cierreInventariop = new CierreInventariop(); cierreInventariop.CierreInventarioId = ncierreInventario.CierreInventarioId; cierreInventariop.ProductoId = pr.ProductoId; cierreInventariop.Descripcion = pr.Descripcion; cierreInventariop.InvInicial = pr.Stock; cierreInventariop.Entradas = 0; cierreInventariop.Salidas = 0; cierreInventariop.UltimoCosto = pr.UltimoCosto; cierreInventariop.PrevioVta = pr.Precio1; cierreInventariop.ValorCosto = 0; cierreInventariop.ValorVenta = 0; db.Add(cierreInventariop); // db.SaveChanges(); } //////////////////////////////////////////////////////////////// Producto p; var cierreinvp = db.CierreInventariop.Where(x => x.CierreInventarioId == c.CierreInventarioId).ToList(); var mosvInv = db.MovInv.Where(x => x.CreatedAt >= c.FechaInicial && x.CreatedAt <= c.FechaFinal.AddDays(1)).ToList(); foreach (var cp in cierreinvp) { p = productos.FirstOrDefault(x => x.ProductoId.Equals(cp.ProductoId)); if (p != null) { cp.Entradas = mosvInv.Where(x => x.Es.Equals("E") && !x.ConceptoMovsInvId.Equals("IIN") && x.ProductoId.Equals(p.ProductoId) && x.CreatedAt >= c.FechaInicial && x.CreatedAt <= c.FechaFinal.AddDays(1)).Sum(x => x.Cantidad); cp.Salidas = mosvInv.Where(x => x.Es.Equals("S") && x.ProductoId.Equals(p.ProductoId) && x.CreatedAt >= c.FechaInicial && x.CreatedAt <= c.FechaFinal.AddDays(1)).Sum(x => x.Cantidad); cp.InvFinal = cp.InvInicial + cp.Entradas - cp.Salidas; cp.UltimoCosto = p.UltimoCosto; cp.PrevioVta = p.Precio1; //ultimo precio venta cp.Stock = p.Stock; cp.ValorCosto = mosvInv.Where(x => x.Es.Equals("S") && x.ProductoId.Equals(p.ProductoId) && x.CreatedAt >= c.FechaInicial && x.CreatedAt <= c.FechaFinal.AddDays(1)).Sum(x => x.Valor); cp.ValorVenta = mosvInv.Where(x => x.Es.Equals("S") && x.ProductoId.Equals(p.ProductoId) && x.CreatedAt >= c.FechaInicial && x.CreatedAt <= c.FechaFinal.AddDays(1)).Sum(x => x.Cantidad * x.PrecioVta); db.Update(cp); } } c.Etapa2Generada = true; db.Update(c); db.SaveChanges(); MessageBox.Show("INVENTARIO DE CIERRE GENERADO"); } } } } } catch (Exception ex) { MessageBox.Show("Error ActualizaCierresInventario : " + ex.ToString()); } }
public static void InicializaDatabaseDefaultsValues() { try { using (var db = new DymContext()) { var estacion = db.Estacion.FirstOrDefault(x => x.EstacionId == "SYS"); if (estacion == null) { estacion = new Estacion(); estacion.EstacionId = "SYS"; estacion.Nombre = "DEFAUTL"; estacion.CanjearPuntosAuto = false; db.Add(estacion); } var sustancia = db.Sustancia.FirstOrDefault(x => x.SustanciaId == "SYS"); if (sustancia == null) { sustancia = new Sustancia(); sustancia.SustanciaId = "SYS"; sustancia.Nombre = "DEFAUTL"; db.Add(sustancia); } var categoria = db.Categoria.FirstOrDefault(x => x.CategoriaId == "SYS"); if (categoria == null) { categoria = new Categoria(); categoria.CategoriaId = "SYS"; categoria.Nombre = "DEFAUTL"; db.Add(categoria); } var presentacion = db.Presentacion.FirstOrDefault(x => x.PresentacionId == "SYS"); if (presentacion == null) { presentacion = new Presentacion(); presentacion.PresentacionId = "SYS"; presentacion.Nombre = "DEFAUTL"; db.Add(presentacion); } var laboratorio = db.Laboratorio.FirstOrDefault(x => x.LaboratorioId == "SYS"); if (laboratorio == null) { laboratorio = new Laboratorio(); laboratorio.LaboratorioId = "SYS"; laboratorio.Nombre = "DEFAUTL"; db.Add(laboratorio); } var impuesto = db.Impuesto.FirstOrDefault(x => x.ImpuestoId == "SYS"); if (impuesto == null) { impuesto = new Impuesto(); impuesto.ImpuestoId = "SYS"; impuesto.Tasa = 0; impuesto.CImpuesto = "002"; db.Add(impuesto); } var unidadMedida = db.UnidadMedida.FirstOrDefault(x => x.UnidadMedidaId == "SYS"); if (unidadMedida == null) { unidadMedida = new UnidadMedida(); unidadMedida.UnidadMedidaId = "SYS"; unidadMedida.Nombre = "DEFAUTL"; unidadMedida.UnidadSat = "H87"; db.Add(unidadMedida); } var edodocP = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "PEN"); if (edodocP == null) { edodocP = new EstadoDoc(); edodocP.EstadoDocId = "PEN"; edodocP.Descripcion = "PENDIENTE"; db.Add(edodocP); } var edodocCa = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CAN"); if (edodocCa == null) { edodocCa = new EstadoDoc(); edodocCa.EstadoDocId = "CAN"; edodocCa.Descripcion = "CANCELADO"; db.Add(edodocCa); } var edodocCo = db.EstadoDoc.FirstOrDefault(x => x.EstadoDocId == "CON"); if (edodocCo == null) { edodocCo = new EstadoDoc(); edodocCo.EstadoDocId = "CON"; edodocCo.Descripcion = "CONFIRMADO"; db.Add(edodocCo); } var clienteSYS = db.Cliente.FirstOrDefault(x => x.ClienteId == "SYS"); if (clienteSYS == null) { clienteSYS = new Cliente(); clienteSYS.ClienteId = "SYS"; clienteSYS.Rfc = "XAXX010101000"; clienteSYS.Negocio = "PUBLICO EN GENERAL"; clienteSYS.RazonSocial = "PUBLICO EN GENERAL"; clienteSYS.MetodoPagoId = "PUE"; clienteSYS.FormaPagoId = "01"; clienteSYS.UsoCfdiid = "G01"; db.Add(clienteSYS); } var proveedorSYS = db.Proveedor.FirstOrDefault(x => x.ProveedorId == "SYS"); if (proveedorSYS == null) { proveedorSYS = new Proveedor(); proveedorSYS.ProveedorId = "SYS"; proveedorSYS.Negocio = "PROVEEDOR GENERICO"; proveedorSYS.RazonSocial = "PROVEEDOR GENERICO"; proveedorSYS.Rfc = "XAXX010101000"; proveedorSYS.DiasCredito = 0; proveedorSYS.LimiteCredito = 0; proveedorSYS.Saldo = 0; proveedorSYS.IsDeleted = false; db.Add(proveedorSYS); } var puntosConfig = db.PuntoConfig.FirstOrDefault(); if (puntosConfig == null) { puntosConfig = new PuntoConfig(); puntosConfig.DiasReset = 30; puntosConfig.TasaDescuento = 0.01m; puntosConfig.Vigente = true; puntosConfig.IsDeleted = false; db.Add(puntosConfig); } //01010101 var prodSys = db.Producto.FirstOrDefault(x => x.ProductoId.Equals("01010101")); if (prodSys == null) { prodSys = new Producto(); prodSys.ProductoId = "01010101"; prodSys.CategoriaId = "SYS"; prodSys.PresentacionId = "SYS"; prodSys.LaboratorioId = "SYS"; prodSys.Stock = 0; prodSys.Descripcion = "Concepto generico facturable"; prodSys.PrecioCompra = 0; prodSys.PrecioCaja = 0; prodSys.Precio1 = 0; prodSys.Precio2 = 0; prodSys.Precio3 = 0; prodSys.Precio4 = 0; prodSys.Utilidad1 = 0; prodSys.Utilidad2 = 0; prodSys.Utilidad3 = 0; prodSys.Utilidad4 = 0; prodSys.TieneLote = false; prodSys.IsDeleted = false; prodSys.CratedAt = DateTime.Now; prodSys.UnidadMedidaId = "SYS"; prodSys.ClaveProdServId = "01010101"; prodSys.ClaveUnidadId = "H87"; prodSys.ChkCaducidad = false; prodSys.CratedAt = DateTime.Now; prodSys.CratedBy = "JMENDOZAJ"; db.Add(prodSys); } /**************ACTUALIZA CONEXION REPORTES**************/ var informes = db.Informe.ToList(); foreach (var informe in informes) { var stiReport = new StiReport(); stiReport.LoadPackedReportFromString(informe.Codigo); stiReport.Dictionary.Databases.Clear(); stiReport.Dictionary.Databases.Add(new StiSqlDatabase("Dym", Ambiente.Conexion.StandardSecurityConnectionString())); informe.Codigo = stiReport.SavePackedReportToString(); db.Update(informe); } /*******************************************************/ Ambiente.InformeTicket = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Ticket == true) .FirstOrDefault().InformeId)); Ambiente.InformeFactura = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Factura == true) .FirstOrDefault().InformeId)); Ambiente.InformeCompra = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Compra == true) .FirstOrDefault().InformeId)); Ambiente.InformeCorte = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Corte == true) .FirstOrDefault().InformeId)); Ambiente.InformeDevCom = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.DevCom == true) .FirstOrDefault().InformeId)); Ambiente.InformeInvetarios = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.Inventario == true) .FirstOrDefault().InformeId)); Ambiente.InformeCierresInv = db.Informe.FirstOrDefault(x => x.InformeId.Equals( db.InformeConfiguracion.Where(y => y.CierresInv == true) .FirstOrDefault().InformeId)); if (Ambiente.InformeTicket == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de ticket no existe, esto causará problemas"); } if (Ambiente.InformeFactura == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de factura no existe, esto causará problemas"); } if (Ambiente.InformeCompra == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de compra no existe, esto causará problemas"); } if (Ambiente.InformeDevCom == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de devcom no existe, esto causará problemas"); } if (Ambiente.InformeCorte == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de corte no existe, esto causará problemas"); } if (Ambiente.InformeInvetarios == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de inventarios no existe, esto causará problemas"); } if (Ambiente.InformeCierresInv == null) { Ambiente.Mensaje("!Advertencia! El formato o regla de impresión de InformeCierresInv no existe, esto causará problemas"); } db.SaveChanges(); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Error al inicializar db defautls: " + ex.ToString()); } if (!Ambiente.ServerImgAccesible) { Ambiente.Mensaje("!Advertencia! Las rutas de red indicadas para llegar al servidor no pasaron la prueba del 75%. Esto causará rendiento deficiente al acceder a recursos en el server. valor real: " + Ambiente.ServerImgAccesible); } }