/*
 * 循环返风控白名单
 */

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using MySystem.MainModels;
using Library;
using LitJson;

namespace MySystem.Service
{
    public class UserSwapWhiteService
    {
        static string _conn = ConfigurationManager.AppSettings["SqlConnStr"].ToString();

        /// <summary>
        /// 查询列表
        /// </summary>
        /// <param name="fields">查询条件(单个字段)</param>
        /// <param name="condition">查询条件(sql语句)</param>
        /// <param name="page">页码</param>
        /// <param name="limit">每页条数</param>
        /// <returns></returns>
        public static List<Dictionary<string, object>> List(List<FieldItem> fields, string condition, int page = 1, int limit = 30, string orderby = "Id desc")
        {
            Dictionary<string, object> obj = new DbService(AppConfig.Base.mainTables, _conn).IndexData("UserSwapWhite", fields, orderby, "0", page, limit, condition);
            List<Dictionary<string, object>> diclist = obj["data"] as List<Dictionary<string, object>>;
            return diclist;
        }

        /// <summary>
        /// 查询一条记录
        /// </summary>
        /// <param name="Id">主键Id</param>
        /// <returns></returns>
        public static UserSwapWhite Query(int Id)
        {
            WebCMSEntities db = new WebCMSEntities();
            UserSwapWhite editData = db.UserSwapWhite.FirstOrDefault(m => m.Id == Id) ?? new UserSwapWhite();
            db.Dispose();
            return editData;
        }

        public static UserSwapWhite QueryByUserId(int UserId)
        {
            WebCMSEntities db = new WebCMSEntities();
            UserSwapWhite editData = db.UserSwapWhite.FirstOrDefault(m => m.UserId == UserId) ?? new UserSwapWhite();
            db.Dispose();
            return editData;
        }

        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="Fields">要设置的字段</param>
        /// <returns></returns>
        public static int Add(Dictionary<string, object> Fields)
        {
            return new DbService(AppConfig.Base.mainTables, _conn).Add("UserSwapWhite", Fields, 0);
        }

        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="Fields">要设置的字段</param>
        /// <param name="Id">主键Id</param>
        public static void Edit(Dictionary<string, object> Fields, int Id)
        {
            new DbService(AppConfig.Base.mainTables, _conn).Edit("UserSwapWhite", Fields, Id);
        }

        /// <summary>
        /// 删除数据
        /// </summary>
        /// <param name="Id">主键Id</param>
        public static void Delete(int Id)
        {
            new DbService(AppConfig.Base.mainTables, _conn).Delete("UserSwapWhite", Id);
        }

        /// <summary>
        /// 排序
        /// </summary>
        /// <param name="Id">主键Id</param>
        /// <param name="Sort">排序序号</param>
        public static void Sort(int Id, int Sort)
        {
            new DbService(AppConfig.Base.mainTables, _conn).Sort("UserSwapWhite", Sort, Id);
        }

        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="ExcelData">json数据</param>
        public static void Import(string ExcelData)
        {
            WebCMSEntities db = new WebCMSEntities();
            JsonData list = JsonMapper.ToObject(ExcelData);
            for (int i = 1; i < list.Count;i++ )
            {
                JsonData dr = list[i];
                
                db.UserSwapWhite.Add(new UserSwapWhite()
                {
                    CreateDate = DateTime.Now,
                    UpdateDate = DateTime.Now,
                    
                });
                db.SaveChanges();
            }
            db.Dispose();
        }
    }
}