public OOB.Resultado.Ficha Documento_Anular_Presupuesto(OOB.Documento.Anular.Presupuesto.Ficha ficha) { var result = new OOB.Resultado.Ficha(); var fichaDTO = new DtoLibPos.DocumentoAdm.Anular.Prersupuesto.Ficha() { autoDocumento = ficha.autoDocumento, auditoria = new DtoLibPos.DocumentoAdm.Anular.Prersupuesto.FichaAuditoria() { autoSistemaDocumento = ficha.auditoria.autoSistemaDocumento, autoUsuario = ficha.auditoria.autoUsuario, codigo = ficha.auditoria.codigo, estacion = ficha.auditoria.estacion, motivo = ficha.auditoria.motivo, usuario = ficha.auditoria.usuario, }, }; var r01 = MyData.DocumentoAdm_Anular_Presupuesto(fichaDTO); if (r01.Result == DtoLib.Enumerados.EnumResult.isError) { result.Mensaje = r01.Mensaje; result.Result = OOB.Resultado.Enumerados.EnumResult.isError; return(result); } return(result); }
public DtoLib.Resultado DocumentoAdm_Anular_Presupuesto(DtoLibPos.DocumentoAdm.Anular.Prersupuesto.Ficha ficha) { return(ServiceProv.DocumentoAdm_Anular_Presupuesto(ficha)); }
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); }