public DtoLib.ResultadoId Jornada_Abrir(DtoLibPos.Pos.Abrir.Ficha ficha) { var result = new DtoLib.ResultadoId(); try { using (var cnn = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var sql = ""; var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var horaSistema = fechaSistema.ToShortTimeString(); var fechaNula = new DateTime(2000, 01, 01); sql = "update sistema_contadores set a_cierre=a_cierre+1 "; var r1 = cnn.Database.ExecuteSqlCommand(sql); if (r1 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR TABLA CONTADORES"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var aCierre = cnn.Database.SqlQuery <int>("select a_cierre from sistema_contadores").FirstOrDefault(); var autoCierre = ficha.codSucursal + ficha.idEquipo.Trim().PadLeft(2, '0'); autoCierre += aCierre.ToString().Trim().PadLeft((10 - autoCierre.Length), '0'); var op = ficha.operadorAbrir; var pOperador = new p_operador() { auto_usuario = op.idUsuario, estatus = op.estatus, fecha_apertura = fechaSistema.Date, fecha_cierre = null, hora_apertura = horaSistema, hora_cierre = "", id_equipo = op.idEquipo, codigo_sucursal = op.codSucursal, }; cnn.p_operador.Add(pOperador); cnn.SaveChanges(); var arq = ficha.arqueoAbrir; const string InsertarPosArqueo = @"INSERT INTO pos_arqueo (" + "auto_cierre, auto_usuario, codigo, usuario, fecha, hora, " + "diferencia, efectivo, cheque, debito, credito, ticket, firma, " + "retiro, otros, devolucion, subtotal, cobranza, " + "total, mefectivo, mcheque, mbanco1, mbanco2, mbanco3, mbanco4, mtarjeta, " + "mticket, mtrans, mfirma, motros, mgastos, mretiro, mretenciones, msubtotal, " + "mtotal, cierre_ftp, cnt_divisa, cnt_divisa_usuario, cntDoc, cntDocFac, cntDocNcr, " + "montoFac, montoNcr)" + "VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, " + "{12}, {13}, {14}, {15},{16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, " + "{26}, {27}, {28}, {29},{30}, {31}, {32}, {33}, {34}, {35}, {36}, {37}, {38}, {39}, " + "{40}, {41}, {42})"; var arqueo = cnn.Database.ExecuteSqlCommand(InsertarPosArqueo, autoCierre, arq.idUsuario, arq.codUsuario, arq.nombreUsuario, fechaNula.Date, horaSistema, arq.diferencia, arq.efectivo, arq.cheque, arq.debito, arq.credito, arq.ticket, arq.firma, arq.retiro, arq.otros, arq.devolucion, arq.subTotal, arq.cobranza, arq.total, arq.mefectivo, arq.mcheque, arq.mbanco1, arq.mbanco2, arq.mbanco3, arq.mbanco4, arq.mtarjeta, arq.mticket, arq.mtrans, arq.mfirma, arq.motros, arq.mgastos, arq.mretiro, arq.mretenciones, arq.msubtotal, arq.mtotal, arq.cierreFtp, arq.cntDivisia, arq.cntDivisaUsuario, arq.cntDoc, arq.cntDocFac, arq.cntDocNCr, arq.montoFac, arq.montoNCr); if (arqueo == 0) { result.Mensaje = "PROBLEMA AL REGISTRAR MOVIMIENTO DE ARQUEO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } cnn.SaveChanges(); var res = ficha.resumenAbrir; var pResumen = new p_resumen() { id_p_operador = pOperador.id, auto_pos_arqueo = autoCierre, m_efectivo = res.mEfectivo, cnt_efectivo = res.cntEfectivo, m_divisa = res.mDivisa, cnt_divisa = res.cntDivisa, m_electronico = res.mElectronico, cnt_electronico = res.cntElectronico, m_otros = res.mOtros, cnt_otros = res.cntotros, m_devolucion = res.mDevolucion, cnt_devolucion = res.cntDevolucion, m_contado = res.mContado, m_credito = res.mCredito, cnt_doc = res.cntDoc, cnt_fac = res.cntFac, cnt_ncr = res.cntNCr, m_fac = res.mFac, m_ncr = res.mNCr, cnt_doc_contado = res.cntDocContado, cnt_doc_credito = res.cntDocCredito, cnt_anu = 0, cnt_anu_fac = 0, cnt_anu_ncr = 0, cnt_anu_nte = 0, cnt_cambio = 0, cnt_nte = 0, m_anu = 0.0m, m_anu_fac = 0.0m, m_anu_ncr = 0.0m, m_anu_nte = 0.0m, m_cambio = 0.0m, m_nte = 0.0m, cnt_divisa_anulado = 0, cnt_doc_contado_anulado = 0, cnt_doc_credito_anulado = 0, cnt_efectivo_anulado = 0, cnt_electronico_anulado = 0, cnt_otros_anulado = 0, m_contado_anulado = 0.0m, m_credito_anulado = 0.0m, m_divisa_aunlado = 0.0m, m_efectivo_anulado = 0.0m, m_electronico_anulado = 0.0m, m_otros_anulado = 0.0m, cnt_cambio_anulado = 0, m_cambio_anulado = 0.0m, }; cnn.p_resumen.Add(pResumen); cnn.SaveChanges(); ts.Complete(); result.Id = pOperador.id; } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { var msg = ""; foreach (var eve in e.Entries) { //msg += eve.m; foreach (var ve in eve.CurrentValues.PropertyNames) { msg += ve.ToString(); } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.Resultado Jornada_Cerrar(DtoLibPos.Pos.Cerrar.Ficha ficha) { var result = new DtoLib.ResultadoId(); try { using (var cnn = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var horaSistema = fechaSistema.ToShortTimeString(); var pOperador = cnn.p_operador.Find(ficha.idOperador); if (pOperador == null) { result.Mensaje = "[ ID] OPERADOR NO ENCONTRADO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } pOperador.estatus = ficha.estatus; pOperador.fecha_cierre = fechaSistema.Date; pOperador.hora_cierre = horaSistema; cnn.SaveChanges(); var arq = ficha.arqueoCerrar; const string UpdatePosArqueo = @"UPDATE pos_arqueo SET " + "diferencia={0}, efectivo={1}, cheque={2}, debito={3}, credito={4}, ticket={5}, firma={6}, " + "retiro={7}, otros={8}, devolucion={9}, subtotal={10}, cobranza={11}, " + "total={12}, mefectivo={13}, mcheque={14}, mbanco1={15}, mbanco2={16}, mbanco3={17}, mbanco4={18}, mtarjeta={19}, " + "mticket={20}, mtrans={21}, mfirma={22}, motros={23}, mgastos={24}, mretiro={25}, mretenciones={26}, msubtotal={27}, " + "mtotal={28}, cierre_ftp={29}, cnt_divisa={30}, cnt_divisa_usuario={31}, cntDoc={32}, cntDocFac={33}, cntDocNcr={34}, " + "montoFac={35}, montoNcr={36}, fecha={38}, hora={39} " + "where auto_cierre={37}"; var arqueo = cnn.Database.ExecuteSqlCommand(UpdatePosArqueo, arq.diferencia, arq.efectivo, arq.cheque, arq.debito, arq.credito, arq.ticket, arq.firma, arq.retiro, arq.otros, arq.devolucion, arq.subTotal, arq.cobranza, arq.total, arq.mefectivo, arq.mcheque, arq.mbanco1, arq.mbanco2, arq.mbanco3, arq.mbanco4, arq.mtarjeta, arq.mticket, arq.mtrans, arq.mfirma, arq.motros, arq.mgastos, arq.mretiro, arq.mretenciones, arq.msubtotal, arq.mtotal, arq.cierreFtp, arq.cntDivisia, arq.cntDivisaUsuario, arq.cntDoc, arq.cntDocFac, arq.cntDocNCr, arq.montoFac, arq.montoNCr, arq.autoArqueo, fechaSistema.Date, horaSistema); if (arqueo == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR MOVIMIENTO DE ARQUEO"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } cnn.SaveChanges(); ts.Complete(); result.Id = pOperador.id; } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { var msg = ""; foreach (var eve in e.Entries) { //msg += eve.m; foreach (var ve in eve.CurrentValues.PropertyNames) { msg += ve.ToString(); } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoAuto DocumentoAdm_Agregar_Pedido(DtoLibPos.DocumentoAdm.Agregar.Pedido.Ficha ficha) { var result = new DtoLib.ResultadoAuto(); try { using (var cn = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var fechaSistema = cn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var mesRelacion = fechaSistema.Month.ToString().Trim().PadLeft(2, '0'); var anoRelacion = fechaSistema.Year.ToString().Trim().PadLeft(4, '0'); var fechaNula = new DateTime(2000, 1, 1); var sql = "update sistema_contadores set a_ventas=a_ventas+1, a_ventas_pedido=a_ventas_pedido+1"; var r1 = cn.Database.ExecuteSqlCommand(sql); if (r1 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR TABLA CONTADORES"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var fichaEnc = ficha.Encabezado; var aVenta = cn.Database.SqlQuery <int>("select a_ventas from sistema_contadores").FirstOrDefault(); var aDocumento = cn.Database.SqlQuery <int>("select a_ventas_pedido from sistema_contadores").FirstOrDefault(); var largo = 0; largo = 10 - fichaEnc.Prefijo.Length; var fechaVenc = fechaSistema.AddDays(fichaEnc.Dias); var autoVenta = fichaEnc.Prefijo + aVenta.ToString().Trim().PadLeft(largo, '0'); var autoCxC = ""; var autoRecibo = ""; var reciboNUmero = ""; var documentoNro = aDocumento.ToString().Trim().PadLeft(10, '0'); //DOCUMENTO VENTA var entVenta = new ventas() { auto = autoVenta, documento = documentoNro, fecha = fechaSistema.Date, fecha_vencimiento = fechaVenc.Date, razon_social = fichaEnc.RazonSocial, dir_fiscal = fichaEnc.DirFiscal, ci_rif = fichaEnc.CiRif, tipo = fichaEnc.Tipo, exento = fichaEnc.Exento, base1 = fichaEnc.Base1, base2 = fichaEnc.Base2, base3 = fichaEnc.Base3, impuesto1 = fichaEnc.Impuesto1, impuesto2 = fichaEnc.Impuesto2, impuesto3 = fichaEnc.Impuesto3, @base = fichaEnc.MBase, impuesto = fichaEnc.Impuesto, total = fichaEnc.Total, tasa1 = fichaEnc.Tasa1, tasa2 = fichaEnc.Tasa2, tasa3 = fichaEnc.Tasa3, nota = fichaEnc.Nota, tasa_retencion_iva = fichaEnc.TasaRetencionIva, tasa_retencion_islr = fichaEnc.TasaRetencionIslr, retencion_iva = fichaEnc.RetencionIva, retencion_islr = fichaEnc.TasaRetencionIslr, auto_cliente = fichaEnc.AutoCliente, codigo_cliente = fichaEnc.CodigoCliente, mes_relacion = mesRelacion, control = fichaEnc.Control, fecha_registro = fechaSistema.Date, orden_compra = fichaEnc.OrdenCompra, dias = fichaEnc.Dias, descuento1 = fichaEnc.Descuento1, descuento2 = fichaEnc.Descuento2, cargos = fichaEnc.Cargos, descuento1p = fichaEnc.Descuento1p, descuento2p = fichaEnc.Descuento2p, cargosp = fichaEnc.Cargosp, columna = fichaEnc.Columna, estatus_anulado = fichaEnc.EstatusAnulado, aplica = fichaEnc.Aplica, comprobante_retencion = fichaEnc.ComprobanteRetencion, subtotal_neto = fichaEnc.SubTotalNeto, telefono = fichaEnc.Telefono, factor_cambio = fichaEnc.FactorCambio, codigo_vendedor = fichaEnc.CodigoVendedor, vendedor = fichaEnc.Vendedor, auto_vendedor = fichaEnc.AutoVendedor, fecha_pedido = fichaEnc.FechaPedido, pedido = fichaEnc.Pedido, condicion_pago = fichaEnc.CondicionPago, usuario = fichaEnc.Usuario, codigo_usuario = fichaEnc.CodigoUsuario, codigo_sucursal = fichaEnc.CodigoSucursal, hora = fechaSistema.ToShortTimeString(), transporte = fichaEnc.Transporte, codigo_transporte = fichaEnc.CodigoTransporte, monto_divisa = fichaEnc.MontoDivisa, despachado = fichaEnc.Despachado, dir_despacho = fichaEnc.DirDespacho, estacion = fichaEnc.Estacion, auto_recibo = autoRecibo, recibo = reciboNUmero, renglones = fichaEnc.Renglones, saldo_pendiente = fichaEnc.SaldoPendiente, ano_relacion = anoRelacion, comprobante_retencion_islr = fichaEnc.ComprobanteRetencionIslr, dias_validez = fichaEnc.DiasValidez, auto_usuario = fichaEnc.AutoUsuario, auto_transporte = fichaEnc.AutoTransporte, situacion = fichaEnc.Situacion, signo = fichaEnc.Signo, serie = fichaEnc.Serie, tarifa = fichaEnc.Tarifa, tipo_remision = fichaEnc.TipoRemision, documento_remision = fichaEnc.DocumentoRemision, auto_remision = fichaEnc.AutoRemision, documento_nombre = fichaEnc.DocumentoNombre, subtotal_impuesto = fichaEnc.SubTotalImpuesto, subtotal = fichaEnc.SubTotal, auto_cxc = autoCxC, tipo_cliente = fichaEnc.TipoCliente, planilla = fichaEnc.Planilla, expediente = fichaEnc.Expendiente, anticipo_iva = fichaEnc.AnticipoIva, terceros_iva = fichaEnc.TercerosIva, neto = fichaEnc.Neto, costo = fichaEnc.Costo, utilidad = fichaEnc.Utilidad, utilidadp = fichaEnc.Utilidadp, documento_tipo = fichaEnc.DocumentoTipo, ci_titular = fichaEnc.CiTitular, nombre_titular = fichaEnc.NombreTitular, ci_beneficiario = fichaEnc.CiBeneficiario, nombre_beneficiario = fichaEnc.NombreBeneficiario, clave = fichaEnc.Clave, denominacion_fiscal = fichaEnc.DenominacionFiscal, cambio = fichaEnc.Cambio, estatus_validado = fichaEnc.EstatusValidado, cierre = fichaEnc.Cierre, fecha_retencion = fechaNula, estatus_cierre_contable = fichaEnc.EstatusCierreContable, cierre_ftp = fichaEnc.CierreFtp, }; cn.ventas.Add(entVenta); cn.SaveChanges(); //DETALLES var sql1 = @"INSERT INTO ventas_detalle (auto_documento, auto_producto, codigo, nombre, auto_departamento, auto_grupo, auto_subgrupo, auto_deposito, cantidad, empaque, precio_neto, descuento1p, descuento2p, descuento3p, descuento1, descuento2, descuento3, costo_venta, total_neto, tasa, impuesto, total, auto, estatus_anulado, fecha, tipo, deposito, signo, precio_final, auto_cliente, decimales, contenido_empaque, cantidad_und, precio_und, costo_und, utilidad, utilidadp, precio_item, estatus_garantia, estatus_serial, codigo_deposito, dias_garantia, detalle, precio_sugerido, auto_tasa, estatus_corte, x, y, z, corte, categoria, cobranzap, ventasp, cobranzap_vendedor, ventasp_vendedor, cobranza, ventas, cobranza_vendedor, ventas_vendedor, costo_promedio_und, costo_compra, estatus_checked, tarifa, total_descuento, codigo_vendedor, auto_vendedor, hora, cierre_ftp) Values ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32}, {33}, {34}, {35}, {36}, {37}, {38}, {39}, {40}, {41}, {42}, {43}, {44}, {45}, {46}, {47}, {48}, {49}, {50}, {51}, {52}, {53}, {54}, {55}, {56}, {57}, {58}, {59}, {60}, {61}, {62}, {63}, {64}, {65}, {66}, {67})"; //CUERPO DEL DOCUMENTO => ITEMS var item = 0; foreach (var dt in ficha.Detalles) { item += 1; var autoItem = item.ToString().Trim().PadLeft(10, '0'); var vd = cn.Database.ExecuteSqlCommand(sql1, autoVenta, dt.AutoProducto, dt.Codigo, dt.Nombre, dt.AutoDepartamento, dt.AutoGrupo, dt.AutoSubGrupo, dt.AutoDeposito, dt.Cantidad, dt.Empaque, dt.PrecioNeto, dt.Descuento1p, dt.Descuento2p, dt.Descuento3p, dt.Descuento1, dt.Descuento2, dt.Descuento3, dt.CostoVenta, dt.TotalNeto, dt.Tasa, dt.Impuesto, dt.Total, autoItem, dt.EstatusAnulado, fechaSistema.Date, dt.Tipo, dt.Deposito, dt.Signo, dt.PrecioFinal, dt.AutoCliente, dt.Decimales, dt.ContenidoEmpaque, dt.CantidadUnd, dt.PrecioUnd, dt.CostoUnd, dt.Utilidad, dt.Utilidadp, dt.PrecioItem, dt.EstatusGarantia, dt.EstatusSerial, dt.CodigoDeposito, dt.DiasGarantia, dt.Detalle, dt.PrecioSugerido, dt.AutoTasa, dt.EstatusCorte, dt.X, dt.Y, dt.Z, dt.Corte, dt.Categoria, dt.Cobranzap, dt.Ventasp, dt.CobranzapVendedor, dt.VentaspVendedor, dt.Cobranza, dt.Ventas, dt.CobranzaVendedor, dt.VentasVendedor, dt.CostoPromedioUnd, dt.CostoCompra, dt.EstatusChecked, dt.Tarifa, dt.TotalDescuento, dt.CodigoVendedor, dt.AutoVendedor, fechaSistema.ToShortTimeString(), dt.CierreFtp); if (vd == 0) { result.Mensaje = "PROBLEMA AL REGISTRAR ITEM [ " + Environment.NewLine + dt.Nombre + " ]"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } //BLOQUEAR MERCANCA foreach (var dt in ficha.ItemDepositoBloquear) { var xp1 = new MySql.Data.MySqlClient.MySqlParameter(); xp1.ParameterName = "@p1"; xp1.Value = dt.autoDeposito; var xp2 = new MySql.Data.MySqlClient.MySqlParameter(); xp2.ParameterName = "@p2"; xp2.Value = dt.autoProducto; var xp3 = new MySql.Data.MySqlClient.MySqlParameter(); xp3.ParameterName = "@p3"; xp3.Value = dt.cntUnd; var xsql1 = @"update productos_deposito set reservada=reservada+@p3, disponible=disponible-@p3 where auto_deposito=@p1 and auto_producto=@p2"; var vk1 = cn.Database.ExecuteSqlCommand(xsql1, xp1, xp2, xp3); if (vk1 == 0) { var xmsg = "PROBLEMA AL ENCONTRAR PRODUCTO-DEPOSITO " + Environment.NewLine + "Deposito: " + dt.depDescripcion + Environment.NewLine + "Producto: " + dt.prdDescripcion; result.Mensaje = xmsg; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } if (ficha.ValidarRupturaPorExistencia) { var yp1 = new MySql.Data.MySqlClient.MySqlParameter(); yp1.ParameterName = "@p1"; yp1.Value = dt.autoDeposito; var yp2 = new MySql.Data.MySqlClient.MySqlParameter(); yp2.ParameterName = "@p2"; yp2.Value = dt.autoProducto; var xsql2 = @"select disponible from productos_deposito where auto_deposito=@p1 and auto_producto=@p2"; var cnt = cn.Database.SqlQuery <decimal>(xsql2, yp1, yp2).FirstOrDefault(); if (cnt < 0m) { var xmsg = "PROBLEMA AL BLOQUEAR MERCANCIA PRODUCTO-DEPOSITO" + Environment.NewLine + "Deposito: " + dt.depDescripcion + Environment.NewLine + "Producto: " + dt.prdDescripcion + Environment.NewLine + "NO HAY DISPONIBILIDAD"; result.Mensaje = xmsg; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } } //TEMPORAL VENTA-DETALLE var sql2 = @"DELETE from p_ventaadm_det where id_ventaAdm=@p1"; var p1 = new MySql.Data.MySqlClient.MySqlParameter(); p1.ParameterName = "@p1"; p1.Value = ficha.VentaTemporal.id; var vk2 = cn.Database.ExecuteSqlCommand(sql2, p1); if (vk2 == 0) { result.Mensaje = "PROBLEMA AL ELIMINAR REGISTRO TEMPORAL-VENTA-DETALLES"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } //TEMPORAL VENTA var sql3 = @"DELETE from p_ventaadm where id=@p2"; var p2 = new MySql.Data.MySqlClient.MySqlParameter(); p2.ParameterName = "@p2"; p2.Value = ficha.VentaTemporal.id; vk2 = cn.Database.ExecuteSqlCommand(sql3, p2); if (vk2 == 0) { result.Mensaje = "PROBLEMA AL ELIMINAR REGISTRO TEMPORAL-VENTA"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } cn.SaveChanges(); ts.Complete(); result.Auto = autoVenta; } }; } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { var msg = ""; foreach (var eve in e.Entries) { //msg += eve.m; foreach (var ve in eve.CurrentValues.PropertyNames) { msg += ve.ToString(); } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.Resultado DocumentoAdm_Anular_Presupuesto(DtoLibPos.DocumentoAdm.Anular.Prersupuesto.Ficha ficha) { var result = new DtoLib.Resultado(); try { using (var cn = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var fechaSistema = cn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var fechaNula = new DateTime(2000, 1, 1); var ent = cn.ventas.Find(ficha.autoDocumento); if (ent == null) { result.Mensaje = "PROBLEMA AL ENCONTRAR DOCUMENTO [ NO REGISTRADO ] "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } if (ent.estatus_anulado == "1") { result.Mensaje = "PROBLEMA ESTATUS DEL DOCUMENTO [ ANULADO ] "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } //AUDITORIA var sql = @"INSERT INTO `auditoria_documentos` (`auto_documento`, `auto_sistema_documentos`, `auto_usuario`, `usuario`, `codigo`, `fecha`, `hora`, `memo`, `estacion`, `ip`) VALUES (@p1, @p2, @p3, @p4, @p5, @p6, @p7, @p8, @p9, '')"; var p1 = new MySql.Data.MySqlClient.MySqlParameter("@p1", ficha.autoDocumento); var p2 = new MySql.Data.MySqlClient.MySqlParameter("@p2", ficha.auditoria.autoSistemaDocumento); var p3 = new MySql.Data.MySqlClient.MySqlParameter("@p3", ficha.auditoria.autoUsuario); var p4 = new MySql.Data.MySqlClient.MySqlParameter("@p4", ficha.auditoria.usuario); var p5 = new MySql.Data.MySqlClient.MySqlParameter("@p5", ficha.auditoria.codigo); var p6 = new MySql.Data.MySqlClient.MySqlParameter("@p6", fechaSistema.Date); var p7 = new MySql.Data.MySqlClient.MySqlParameter("@p7", fechaSistema.ToShortTimeString()); var p8 = new MySql.Data.MySqlClient.MySqlParameter("@p8", ficha.auditoria.motivo); var p9 = new MySql.Data.MySqlClient.MySqlParameter("@p9", ficha.auditoria.estacion); var v1 = cn.Database.ExecuteSqlCommand(sql, p1, p2, p3, p4, p5, p6, p7, p8, p9); if (v1 == 0) { result.Mensaje = "PROBLEMA AL REGISTRAR MOVIMIENTO AUDITORIA"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } //DOCUMENTO sql = "update ventas set estatus_anulado='1' where auto=@p1"; var v2 = cn.Database.ExecuteSqlCommand(sql, p1); if (v2 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR ESTATUS [ ANULADO ] AL DOCUMENTO "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } //ITEMS DETALLE sql = "update ventas_detalle set estatus_anulado='1' where auto_documento=@p1"; var v3 = cn.Database.ExecuteSqlCommand(sql, p1); if (v3 == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR ESTATUS [ ANULADO ] A LOS ITEMS DEL DOCUMENTO "; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } cn.SaveChanges(); ts.Complete(); } }; } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException e) { var msg = ""; foreach (var eve in e.Entries) { //msg += eve.m; foreach (var ve in eve.CurrentValues.PropertyNames) { msg += ve.ToString(); } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.Resultado Cliente_Activar(DtoLibPos.Cliente.EstatusActivarInactivar.Ficha ficha) { var result = new DtoLib.Resultado(); try { using (var ctx = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var fechaNula = new DateTime(2000, 01, 01); var ent = ctx.clientes.Find(ficha.autoId); if (ent == null) { result.Result = DtoLib.Enumerados.EnumResult.isError; result.Mensaje = "[ ID ] CLIENTE NO ENCONTRADO"; return(result); } ent.estatus = "Activo"; ent.fecha_baja = fechaNula; ctx.SaveChanges(); ts.Complete(); } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { var dbUpdateEx = ex as System.Data.Entity.Infrastructure.DbUpdateException; var sqlEx = dbUpdateEx.InnerException; if (sqlEx != null) { var exx = (MySql.Data.MySqlClient.MySqlException)sqlEx.InnerException; if (exx != null) { if (exx.Number == 1452) { result.Mensaje = "PROBLEMA DE CLAVE FORANEA" + Environment.NewLine + exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } else { result.Mensaje = exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } } result.Mensaje = ex.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.Resultado Cliente_Editar(DtoLibPos.Cliente.Editar.Actualizar.Ficha ficha) { var result = new DtoLib.Resultado(); try { using (var ctx = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var fechaNula = new DateTime(2000, 01, 01); var ent = ctx.clientes.Find(ficha.autoId); if (ent == null) { result.Result = DtoLib.Enumerados.EnumResult.isError; result.Mensaje = "[ ID ] CLIENTE NO ENCONTRADO"; return(result); } ent.auto_grupo = ficha.idGrupo; ent.auto_zona = ficha.idZona; ent.auto_estado = ficha.idEstado; ent.auto_cobrador = ficha.idCobrador; ent.auto_vendedor = ficha.idVendedor; ent.ci_rif = ficha.ciRif; ent.razon_social = ficha.razonSocial; ent.dir_fiscal = ficha.dirFiscal; ent.telefono = ficha.telefono1; ent.estatus_credito = ficha.estatusCredito; ent.categoria = ficha.categoria; ent.tarifa = ficha.tarifa; ent.dias_credito = ficha.diasCredito; ent.limite_credito = ficha.limiteCredito; ent.doc_pendientes = ficha.limiteDoc; ent.pais = ficha.pais; ent.codigo = ficha.codigo; ent.dir_despacho = ficha.dirDespacho; ent.contacto = ficha.contacto; ent.email = ficha.email; ent.website = ficha.webSite; ent.codigo_postal = ficha.codPostal; ent.descuento = ficha.dscto; ent.recargo = ficha.cargo; ent.telefono2 = ficha.telefono2; ent.fax = ficha.fax; ent.celular = ficha.celular; ent.abc = ficha.nivel; ctx.SaveChanges(); ts.Complete(); } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { var dbUpdateEx = ex as System.Data.Entity.Infrastructure.DbUpdateException; var sqlEx = dbUpdateEx.InnerException; if (sqlEx != null) { var exx = (MySql.Data.MySqlClient.MySqlException)sqlEx.InnerException; if (exx != null) { if (exx.Number == 1452) { result.Mensaje = "PROBLEMA DE CLAVE FORANEA" + Environment.NewLine + exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } else { result.Mensaje = exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } } result.Mensaje = ex.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }
public DtoLib.ResultadoAuto Cliente_Agregar(DtoLibPos.Cliente.Agregar.Ficha ficha) { var result = new DtoLib.ResultadoAuto(); try { using (var ctx = new PosEntities(_cnPos.ConnectionString)) { using (var ts = new TransactionScope()) { var r = ctx.Database.ExecuteSqlCommand("update sistema_contadores set a_clientes=a_clientes+1"); if (r == 0) { result.Mensaje = "PROBLEMA AL ACTUALIZAR CONTADOR DE CLIENTE"; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } var fechaSistema = ctx.Database.SqlQuery <DateTime>("select now()").FirstOrDefault(); var cntCliente = ctx.Database.SqlQuery <int>("select a_clientes from sistema_contadores").FirstOrDefault(); var AutoCliente = cntCliente.ToString().Trim().PadLeft(10, '0'); var fechaNula = new DateTime(2000, 01, 01); var ent = new clientes() { auto = AutoCliente, auto_grupo = ficha.autoGrupo, auto_zona = ficha.autoZona, auto_estado = ficha.autoEstado, auto_agencia = ficha.autoAgencia, auto_cobrador = ficha.autoCobrador, auto_vendedor = ficha.autoVendedor, auto_codigo_anticipos = ficha.autoCodigoAnticipos, auto_codigo_cobrar = ficha.autoCodigoCobrar, auto_codigo_ingresos = ficha.autoCodigoIngreso, ci_rif = ficha.ciRif, razon_social = ficha.razonSocial, dir_fiscal = ficha.dirFiscal, telefono = ficha.telefono, estatus = ficha.estatus, estatus_credito = ficha.estatusCredito, categoria = ficha.categoria, tarifa = ficha.tarifa, dias_credito = ficha.diasCredito, limite_credito = ficha.limiteCredito, doc_pendientes = ficha.docPendientes, pais = ficha.pais, fecha_alta = fechaSistema.Date, denominacion_fiscal = ficha.denominacionFiscal, codigo = ficha.codigo, nombre = ficha.nombre, dir_despacho = ficha.dirDespacho, contacto = ficha.contacto, email = ficha.email, website = ficha.webSite, codigo_postal = ficha.codigoPostal, retencion_iva = ficha.retencionIva, retencion_islr = ficha.retencionIslr, descuento = ficha.descuento, recargo = ficha.recargo, estatus_morosidad = ficha.estatusMorosidad, estatus_lunes = ficha.estatusLunes, estatus_martes = ficha.estatusMartes, estatus_miercoles = ficha.estatusMiercoles, estatus_jueves = ficha.estatusJueves, estatus_viernes = ficha.estatusViernes, estatus_sabado = ficha.estatusSabado, estatus_domingo = ficha.estatusDomingo, fecha_baja = fechaNula, fecha_ult_pago = fechaNula, fecha_ult_venta = fechaNula, anticipos = ficha.anticipos, debitos = ficha.debitos, creditos = ficha.creditos, saldo = ficha.saldo, disponible = ficha.disponible, memo = ficha.memo, aviso = ficha.aviso, cuenta = ficha.cuenta, iban = ficha.iban, swit = ficha.swit, dir_banco = ficha.dirBanco, descuento_pronto_pago = ficha.descuentoProntoPago, importe_ult_pago = ficha.importeUltPago, importe_ult_venta = ficha.importeUltVenta, telefono2 = ficha.telefono2, fax = ficha.fax, celular = ficha.celular, abc = ficha.abc, fecha_clasificacion = fechaNula, monto_clasificacion = ficha.montoClasificacion, }; ctx.clientes.Add(ent); ctx.SaveChanges(); ts.Complete(); result.Auto = AutoCliente; } } } catch (DbEntityValidationException e) { var msg = ""; foreach (var eve in e.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { msg += ve.ErrorMessage; } } result.Mensaje = msg; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { var dbUpdateEx = ex as System.Data.Entity.Infrastructure.DbUpdateException; var sqlEx = dbUpdateEx.InnerException; if (sqlEx != null) { var exx = (MySql.Data.MySqlClient.MySqlException)sqlEx.InnerException; if (exx != null) { if (exx.Number == 1452) { result.Mensaje = "PROBLEMA DE CLAVE FORANEA" + Environment.NewLine + exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } else { result.Mensaje = exx.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; return(result); } } } result.Mensaje = ex.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } catch (Exception e) { result.Mensaje = e.Message; result.Result = DtoLib.Enumerados.EnumResult.isError; } return(result); }