using System.Collections.Generic;
using System.Linq;

namespace BLL
{
    /// <summary>
    /// 币种
    /// </summary>
    public class CurrencyService
    {
        /// <summary>
        /// 根据主键获取币种信息
        /// </summary>
        /// <param name="currencyId"></param>
        /// <returns></returns>
        public static Model.Base_Currency GetCurrencyById(string currencyId)
        {
            return Funs.DB.Base_Currency.FirstOrDefault(e => e.CurrencyId == currencyId);
        }

        public static List<Model.Base_Currency> GetCurrencyList()
        {
            return (from x in Funs.DB.Base_Currency orderby x.Currency select x).ToList();
        }

        public static void AddCurrency(Model.Base_Currency currency)
        {
            Model.Base_Currency newCurrency = new Model.Base_Currency();
            newCurrency.CurrencyId = currency.CurrencyId;
            newCurrency.Currency = currency.Currency;
            newCurrency.Remark = currency.Remark;
            Funs.DB.Base_Currency.InsertOnSubmit(newCurrency);
            Funs.DB.SubmitChanges();
        }

        public static void UpdateCurrency(Model.Base_Currency currency)
        {
            Model.Base_Currency newCurrency = Funs.DB.Base_Currency.FirstOrDefault(e => e.CurrencyId == currency.CurrencyId);
            if (newCurrency != null)
            {
                newCurrency.Currency = currency.Currency;
                newCurrency.Remark = currency.Remark;
                Funs.DB.SubmitChanges();
            }
        }

        public static void DeleteCurrencyById(string currencyId)
        {
            Model.Base_Currency currency = Funs.DB.Base_Currency.FirstOrDefault(e => e.CurrencyId == currencyId);
            if (currency != null)
            {
                Funs.DB.Base_Currency.DeleteOnSubmit(currency);
                Funs.DB.SubmitChanges();
            }
        }

        public static bool IsExitCurrency(string currency, string id)
        {
            var q = Funs.DB.Base_Currency.FirstOrDefault(x => x.Currency == currency && x.CurrencyId != id);
            if (q != null)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 常量表下拉框
        /// </summary>
        /// <param name="dropName">下拉框名字</param>
        /// <param name="isShowPlease">是否显示请选择</param>
        public static void InitDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease)
        {
            dropName.DataValueField = "CurrencyId";
            dropName.DataTextField = "Currency";
            dropName.DataSource = GetCurrencyList();
            dropName.DataBind();
            if (isShowPlease)
            {
                Funs.FineUIPleaseSelect(dropName);
            }
        }
    }
}