예제 #1
0
        public Activos SaveTransaccion(Activos activos)
        {
            int diferenciaMeses;

            RepositoryActivos repository = new RepositoryActivos();

            //Averiguando los meses que han pasado desde la compra al dia de hoy cuando lo guardamos en el sistema
            diferenciaMeses = (DateTime.Now.Month - activos.FechaCompra.Month) + 12 * (DateTime.Now.Year - activos.FechaCompra.Year);
            //Sacando depreciacion por mes ==> Multiplicando depreciacion por los meses actuales para saber el valor actual
            //Debo cambiar el valor en la base de datos a decimal!!!!

            //(activos.CostoColones / (activos.VidaUtil * 12) ===> Averiguamos cuanto se gasta por mes * la difernecia de meses
            // Le restamos el costo total a el valor actual ==> activos.CostoColones(necesito cambiar ValorActual a decimal en la DB)
            activos.ValorActual = Convert.ToInt32(activos.CostoColones - ((activos.CostoColones / (activos.VidaUtil * 12) * diferenciaMeses)));

            //Repository save debe tener una transaccion para agregar el valor actual en la tabla depreciacion de una vez
            return(repository.SaveTransaccion(activos));
        }
        public Depreciacion SaveTransaccion(int activo, DateTime date)
        {
            int diferenciaMeses;
            IEnumerable <Depreciacion> lista = null;

            RepositoryDepreciacion repository       = new RepositoryDepreciacion();
            RepositoryActivos      repositoryActivo = new RepositoryActivos();
            Activos      oActivo           = repositoryActivo.GetActivoByID(activo);
            Depreciacion oDepreciacion     = new Depreciacion();
            int          valorDepreciacion = 0;

            ////Averiguando los meses que han pasado desde la compra al dia de hoy cuando lo guardamos en el sistema
            ///Recibimos date como parametro
            lista = repository.GetDepreciacionByActivo(activo).ToList();

            foreach (var item in lista)
            {
                if (((item.Fecha.Month) == (date.Month)) && ((item.Fecha.Year) == (date.Year)))     // si el mes es diferente
                {
                    //return item
                    return(item);
                }
            }


            //Calculando la diferencia de meses
            diferenciaMeses = (date.Month - oActivo.FechaCompra.Month) + 12 * (date.Year - oActivo.FechaCompra.Year);


            ////Calculando depreciacion por mes ==> Multiplicando depreciacion por los meses actuales para saber el valor actual
            ////Debo cambiar el valor en la base de datos a decimal!!!!
            ////(activos.CostoColones / (activos.VidaUtil * 12) ===> Averiguamos cuanto se gasta por mes * la difernecia de meses
            //// Le restamos el costo total a el valor actual ==> activos.CostoColones(necesito cambiar ValorActual a decimal en la DB)
            valorDepreciacion = Convert.ToInt32(oActivo.CostoColones - ((oActivo.CostoColones / (oActivo.VidaUtil * 12) * diferenciaMeses)));


            oDepreciacion.Valor  = valorDepreciacion.ToString();
            oDepreciacion.Activo = oActivo.ActivoID;
            oDepreciacion.Fecha  = date;

            return(oDepreciacion = repository.SaveTransaccion(oDepreciacion));
        }
예제 #3
0
        public Activos GetActivoByID(int id)
        {
            RepositoryActivos repository = new RepositoryActivos();

            return(repository.GetActivoByID(id));
        }
예제 #4
0
        public IEnumerable <Activos> GetActivos()
        {
            IRepositoryActivos repository = new RepositoryActivos();

            return(repository.GetActivos());
        }
예제 #5
0
        public void DeleteActivo(Activos activo)
        {
            IRepositoryActivos repository = new RepositoryActivos();

            repository.DeleteActivo(activo);
        }