public void Delete(Context context)
        {
            PreDelete(context);
            SecuenciaEmpresa secuenciaEmpresa = context.SecuenciaEmpresas.SingleOrDefault <SecuenciaEmpresa>(x => x == this);

            if (secuenciaEmpresa != null)
            {
                context.SecuenciaEmpresas.DeleteOnSubmit(secuenciaEmpresa);
            }
            PostDelete(context);
        }
        public void Save(Context context)
        {
            PreSave(context);
            SecuenciaEmpresa secuenciaEmpresa = context.SecuenciaEmpresas.SingleOrDefault <SecuenciaEmpresa>(x => x == this);

            if (secuenciaEmpresa == null)
            {
                secuenciaEmpresa = new SecuenciaEmpresa
                {
                    EmpresaId = this.EmpresaId,
                    Clave     = this.Clave
                };

                context.SecuenciaEmpresas.InsertOnSubmit(secuenciaEmpresa);
            }

            secuenciaEmpresa.Numero = this.Numero;
            PostSave(context);
        }
        public static int PreviousVal(Castellano.Empresa empresa, Type type)
        {
            Castellano.SecuenciaEmpresa secuenciaEmpresa = SecuenciaEmpresa.Get(empresa, type);

            using (Context context = new Context())
            {
                if (secuenciaEmpresa == null)
                {
                    secuenciaEmpresa = new SecuenciaEmpresa
                    {
                        EmpresaId = empresa.Id,
                        Clave     = type.ToString()
                    };
                }

                secuenciaEmpresa.Numero = secuenciaEmpresa.Numero - 1;
                secuenciaEmpresa.Save(context);

                context.SubmitChanges();
            }

            return(secuenciaEmpresa.Numero);
        }