using Exferia_Aplicacion.General;
using Exferia_Contabilidad.General;
using Exferia_EntityFramework;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exferia_Contabilidad._0_Modelos
{
    public class INTERNO_CTA_InformesContablesLineaAcumulados_Listado_Modelo
    {
        public INTERNO_CTA_InformesContablesLineaAcumulados_Listado_Modelo()
        { }

        //id
        public long id { get; set; }

        //idInformeContableLinea
        public long idInformeContableLinea { get; set; }

        //linea
        public int linea { get; set; }

        #region InformeContableLinea_Operacion
        public long idInformeContableLinea_Operacion { get; set; }
        public int LineaOperacion_Linea { get; set; }
        public string LineaOperacion_Descripcion { get; set; }
        public string LineaOperacion
        {
            get
            {
                return "(" + LineaOperacion_Linea + ") " + LineaOperacion_Descripcion;
            }
        }
        #endregion

        //calculo_valor
        public decimal? calculo_valor { get; set; }

        //calculo_operacion
        public int? calculo_operacion { get; set; }
        public string Calculo_operacion_Texto
        {
            get
            {
                //Vacio
                string str_ValorDevuelto = "";

                if (calculo_operacion!=null)
                {
                    //Sumar
                    if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_SUMAR.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_SUMAR.Descripcion;
                    }
                    //Restar
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTAR.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTAR.Descripcion;
                    }
                    //Multiplicar
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_MULTIPLICAR.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_MULTIPLICAR.Descripcion;
                    }
                    //Dividir
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_DIVIDIR.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_DIVIDIR.Descripcion;
                    }
                    //Calcular el porcentaje
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_CALCULARPORCENTAJE.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_CALCULARPORCENTAJE.Descripcion;
                    }
                    //Sumar Porcentaje
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_SUMARPORCENTAJE.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_SUMARPORCENTAJE.Descripcion;
                    }
                    //Restar Porcentaje
                    else if (calculo_operacion.Value.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTARPORCENTAJE.Codigo))
                    {
                        str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTARPORCENTAJE.Descripcion;
                    }
                }

                return str_ValorDevuelto;
            }
        }

        //calculo_operacion
        public int operacion { get; set; }
        public string Operacion_Texto
        {
            get
            {
                //Sumar
                string str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_SUMAR.Descripcion;

                //Restar
                if (operacion.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTAR.Codigo))
                {
                    str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_RESTAR.Descripcion;
                }
                //Multiplicar
                else if (operacion.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_MULTIPLICAR.Codigo))
                {
                    str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_MULTIPLICAR.Descripcion;
                }
                //Dividir
                else if (operacion.ToString().Equals(Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_DIVIDIR.Codigo))
                {
                    str_ValorDevuelto = Variables_Contabilidad.G_MDL_INFORMECONTABLEACUMULADOS_OPERACIONES_DIVIDIR.Descripcion;
                }

                return str_ValorDevuelto;
            }
        }


        //fechaActualizacionInterna
        public DateTime? fechaActualizacionInterna { get; set; }

        //fechaBorrado
        public DateTime? fechaBorrado { get; set; }


    }
}

