예제 #1
0
        public static DTO.CuentaActiva CuentaActiva(Resources.CuentaActiva recCuentaActiva)
        {
            var cuentaActiva = new DTO.CuentaActiva();

            cuentaActiva.id          = recCuentaActiva.CuentaActivaId;
            cuentaActiva.numero      = recCuentaActiva.Cuenta.CuentaNumero;
            cuentaActiva.nombre      = recCuentaActiva.Cuenta.CuentaNombre;
            cuentaActiva.descripcion = recCuentaActiva.Cuenta.CuentaDescripcion;

            cuentaActiva.cuentaActivaId        = recCuentaActiva.CuentaActivaId;
            cuentaActiva.cuentaActivaFecha     = recCuentaActiva.CuentaActivaFecha.Date;
            cuentaActiva.cuentaActivaDiasPlazo = recCuentaActiva.CuentaActivaDiasPlazo.GetValueOrDefault();
            cuentaActiva.cuentaActivaTotal     = recCuentaActiva.CuentaActivaTotal.GetValueOrDefault();
            cuentaActiva.cuentaActivaEstado    = recCuentaActiva.CuentaActivaEstado.GetValueOrDefault();

            cuentaActiva.analista     = DTOBuilder.Usuario(recCuentaActiva.Usuario);
            cuentaActiva.validador    = DTOBuilder.Usuario(recCuentaActiva.Usuario2);
            cuentaActiva.certificador = DTOBuilder.Usuario(recCuentaActiva.Usuario1);
            cuentaActiva.empresa      = DTOBuilder.Empresa(recCuentaActiva.Cuenta.Empresa);

            cuentaActiva.rubro = DTOBuilder.Rubro(recCuentaActiva.Cuenta.Rubro);
            cuentaActiva.grupo = DTOBuilder.Grupo(recCuentaActiva.Cuenta.Grupo);

            return(cuentaActiva);
        }
 public int ObtenerNumeroDeArchivosPorCuentaActiva(int cuentaActivaId, int year, int month)
 {
     try
     {
         Resources.CuentaActiva cuenta = db.CuentaActiva.Where(ca =>
             ca.CuentaActivaId == cuentaActivaId &&
             ca.CuentaActivaFecha.Year == year &&
             ca.CuentaActivaFecha.Month == month
         ).FirstOrDefault();
         int count = cuenta.Archivo.Count;
         return count;
     }
     catch (Exception e)
     {
         return -1;
     }
 }
        public DTO.CuentaActiva obtenerCuentaActivaPorId(int cuentaActivaId, int mes, int año)
        {
            try
            {
                Resources.CuentaActiva cuenta = db.CuentaActiva.Where(ca =>
                    ca.CuentaActivaId == cuentaActivaId &&
                    DbFunctions.TruncateTime(ca.CuentaActivaFecha).Value.Year == año &&
                    DbFunctions.TruncateTime(ca.CuentaActivaFecha).Value.Month == mes
                ).First();

                return DTOBuilder.CuentaActiva(cuenta);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("SAC.Models.CuentaActivaModel (obtenerCuentaActivaPorId): " + ex.Message);
                return new DTO.CuentaActiva();
            }
        }
        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;
        }