public OOB.ResultadoAuto SerieFiscal_AgregarFicha(OOB.LibSistema.SerieFiscal.Agregar.Ficha ficha)
        {
            var rt = new OOB.ResultadoAuto();

            var fichaDTO = new DtoLibSistema.SerieFiscal.Agregar.Ficha()
            {
                control          = ficha.control,
                correlativo      = ficha.correlativo,
                estatusFactura   = ficha.estatusFactura,
                estatusNtCredito = ficha.estatusNtCredito,
                estatusNtDebito  = ficha.estatusNtDebito,
                estatusNtEntrega = ficha.estatusNtEntrega,
                serie            = ficha.serie,
            };
            var r01 = MyData.SerieFiscal_AgregarFicha(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }
            rt.Auto = r01.Auto;

            return(rt);
        }
示例#2
0
        public DtoLib.Resultado SerieFiscal_Validar_Agregar(DtoLibSistema.SerieFiscal.Agregar.Ficha ficha)
        {
            var rt = new DtoLib.Resultado();

            try
            {
                using (var cnn = new sistemaEntities(_cnSist.ConnectionString))
                {
                    if (ficha.serie.Trim() == "")
                    {
                        rt.Mensaje = "[ SERIE ] CAMPO NO PUEDE ESTAR VACIO";
                        rt.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(rt);
                    }
                    var entSF = cnn.empresa_series_fiscales.FirstOrDefault(f => f.serie.Trim().ToUpper() == ficha.serie);
                    if (entSF != null)
                    {
                        rt.Mensaje = "[ SERIE ] YA REGISTRADA";
                        rt.Result  = DtoLib.Enumerados.EnumResult.isError;
                        return(rt);
                    }
                    ;
                }
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }
示例#3
0
        public DtoLib.ResultadoAuto SerieFiscal_AgregarFicha(DtoLibSistema.SerieFiscal.Agregar.Ficha ficha)
        {
            var result = new DtoLib.ResultadoAuto();

            try
            {
                using (var cnn = new sistemaEntities(_cnSist.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var fechaSistema = cnn.Database.SqlQuery <DateTime>("select now()").FirstOrDefault();
                        var fechaNula    = new DateTime(2000, 1, 1);

                        var sql = "update sistema_contadores set a_empresa_series_fiscales=a_empresa_series_fiscales+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 auto = cnn.Database.SqlQuery <int>("select a_empresa_series_fiscales from sistema_contadores").FirstOrDefault();
                        var id   = auto.ToString().Trim().PadLeft(10, '0');

                        var ent = new empresa_series_fiscales()
                        {
                            auto            = id,
                            control         = ficha.control,
                            correlativo     = ficha.correlativo,
                            estatus         = "Activo",
                            estatus_factura = ficha.estatusFactura,
                            estatus_nc      = ficha.estatusNtCredito,
                            estatus_nd      = ficha.estatusNtDebito,
                            estatus_ne      = ficha.estatusNtEntrega,
                            serie           = ficha.serie,
                        };
                        cnn.empresa_series_fiscales.Add(ent);
                        cnn.SaveChanges();

                        ts.Complete();
                        result.Auto = 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 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 SerieFiscal_AgregarFicha(DtoLibSistema.SerieFiscal.Agregar.Ficha ficha)
 {
     return(ServiceProv.SerieFiscal_AgregarFicha(ficha));
 }