public DTO.Cuenta IngresarActualizarCuenta(DTO.Cuenta cuenta, int usuarioId)
        {
            bool valid = true;

            Resources.Empresa empresa = db.Empresa.FirstOrDefault(e => e.EmpresaRazonSocial == cuenta.empresa.razonSocial);
            if (empresa != null)
            {
                cuenta.empresa.empresaId = empresa.EmpresaId;
            }
            else
            {
                valid = false;
            }
            Resources.Rubro rubro = db.Rubro.FirstOrDefault(r => r.RubroNombre == cuenta.rubro.rubroNombre);
            if (rubro != null)
            {
                cuenta.rubro.rubroId = rubro.RubroId;
            }
            else
            {
                valid = false;
            }
            Resources.Grupo grupo = db.Grupo.FirstOrDefault(g => g.GrupoNombre == cuenta.grupo.grupoNombre);
            if (grupo != null)
            {
                cuenta.grupo.grupoId = grupo.GrupoId;
            }
            else
            {
                valid = false;
            }



            if (valid)
            {
                Resources.Cuenta cuentaDB = db.Cuenta.FirstOrDefault(c => c.CuentaNumero == cuenta.numero && c.Empresa.EmpresaRazonSocial == cuenta.empresa.razonSocial);
                if (cuentaDB == null)
                {
                    cuenta.id           = (int)db.IngresarCuenta(cuenta.numero, cuenta.nombre, cuenta.empresa.empresaId, cuenta.rubro.rubroId, cuenta.grupo.grupoId, cuenta.descripcion, usuarioId).FirstOrDefault();
                    cuenta.insertUpdate = true;
                }
                else
                {
                    db.EditarCuenta(cuentaDB.CuentaId, cuenta.numero, cuenta.nombre, empresa.EmpresaId, rubro.RubroId, grupo.GrupoId, cuenta.descripcion, usuarioId);
                    cuenta.id           = cuentaDB.CuentaId;
                    cuenta.insertUpdate = false;
                }
            }


            /*
             * Resources.Cuenta cuentaDB = db.Cuenta.FirstOrDefault(c => c.CuentaNumero == cuenta.numero && c.Empresa.EmpresaRazonSocial == cuenta.empresa.razonSocial);
             * if (cuentaDB == null) {
             *  return cuenta;
             * }
             */
            return(cuenta);
        }
Beispiel #2
0
        public static DTO.Empresa Empresa(Resources.Empresa recEmpresa)
        {
            DTO.Empresa empresa = new DTO.Empresa();

            empresa.empresaId   = recEmpresa.EmpresaId;
            empresa.rut         = recEmpresa.EmpresaRut;
            empresa.razonSocial = recEmpresa.EmpresaRazonSocial;
            empresa.giro        = recEmpresa.EmpresaGiro;
            empresa.logo        = recEmpresa.EmpresaLogo;

            return(empresa);
        }
        public bool EmpresaEsEliminable(int empresaId)
        {
            try
            {
                Resources.Empresa empresa = db.Empresa.Where(e => e.EmpresaId == empresaId).FirstOrDefault();
                if (empresa.Cuenta.Count() > 0 && empresa.Usuario.Count() > 0)
                {
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("SAC.Models.MantenedorModel (EmpresaEsEliminable): " + ex.Message);
                return(false);
            }
        }
        public DTO.Empresa obtenerEmpresaPorId(int id)
        {
            DTO.Empresa respuesta = new DTO.Empresa();

            try
            {
                Resources.Empresa empresa = db.Empresa.FirstOrDefault(e => e.EmpresaId == id);
                return(DTOBuilder.Empresa(empresa));
                //respuesta.empresaId = empresa.EmpresaId;
                //respuesta.rut = empresa.EmpresaRut;
                //respuesta.razonSocial = empresa.EmpresaRazonSocial;
                //respuesta.giro = empresa.EmpresaGiro;
                //respuesta.logo = empresa.EmpresaLogo;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("SAC.Models.MantenedorModel (obtenerEmpresaPorId): " + ex.Message);
                respuesta = new DTO.Empresa();
            }
            return(respuesta);
        }
        public DTO.CuentaActiva IngresarActualizarAsignacionCuenta(DTO.CuentaActiva cuenta, int usuarioId)
        {
            bool valid = true;
            Resources.Empresa empresa = db.Empresa.FirstOrDefault(e => e.EmpresaRazonSocial == cuenta.empresa.razonSocial);
            if (empresa != null)
            {
                cuenta.empresa.empresaId = empresa.EmpresaId;

                var cuentas = db.Cuenta.FirstOrDefault(c => c.CuentaNumero == cuenta.numero && c.Empresa.EmpresaId == empresa.EmpresaId);
                if (cuentas != null)
                {
                    cuenta.id = cuentas.CuentaId;
                }
                else
                {
                    valid = false;
                }
            }
            else
            {
                valid = false;
            }
            Resources.Usuario analista = db.Usuario.FirstOrDefault(u => u.UsuarioNombre == cuenta.analista.nombre);
            if (analista != null)
            {
                cuenta.analista.usuarioId = analista.UsuarioId;
            }
            else
            {
                valid = false;
            }
            Resources.Usuario validador = db.Usuario.FirstOrDefault(u => u.UsuarioNombre == cuenta.validador.nombre);
            if (validador != null)
            {
                cuenta.validador.usuarioId = validador.UsuarioId;
            }
            else
            {
                valid = false;
            }
            Resources.Usuario certificador = db.Usuario.FirstOrDefault(u => u.UsuarioNombre == cuenta.certificador.nombre);
            if (certificador != null)
            {
                cuenta.certificador.usuarioId = certificador.UsuarioId;
            }
            else
            {
                valid = false;
            }

            if (valid)
            {
                Resources.CuentaActiva cuentaDB = db.CuentaActiva.FirstOrDefault(c =>
                    c.CuentaActivaId == cuenta.id
                    && c.Cuenta.Empresa.EmpresaRazonSocial == c.Cuenta.Empresa.EmpresaRazonSocial
                    && DbFunctions.TruncateTime(c.CuentaActivaFecha).Value.Year == cuenta.cuentaActivaFecha.Year
                    && DbFunctions.TruncateTime(c.CuentaActivaFecha).Value.Month == cuenta.cuentaActivaFecha.Month
                );
                if (cuentaDB == null)
                {
                    DateTime fecha = new DateTime(cuenta.cuentaActivaFecha.Year, cuenta.cuentaActivaFecha.Month, 1);
                    cuenta.cuentaActivaId = (int)db.IngresarCuentaActiva(cuenta.id, fecha, cuenta.cuentaActivaTotal, cuenta.analista.usuarioId, cuenta.validador.usuarioId, cuenta.certificador.usuarioId, cuenta.cuentaActivaDiasPlazo, usuarioId);
                    cuenta.insertUpdate = true;
                }
                else
                {
                    DateTime fecha = new DateTime(cuenta.cuentaActivaFecha.Year, cuenta.cuentaActivaFecha.Month, 1);
                    db.AsignarCuentaActiva(cuenta.id, fecha, cuenta.cuentaActivaTotal, cuenta.analista.usuarioId, cuenta.validador.usuarioId, cuenta.certificador.usuarioId, cuenta.cuentaActivaDiasPlazo);
                    cuenta.cuentaActivaId = cuentaDB.Cuenta.CuentaId;
                    cuenta.insertUpdate = false;
                }
            }
            return cuenta;
        }