/// <summary>
        /// 保存数据
        /// </summary>
        public virtual void SaveImportData(IEnumerable <Spl_WareCheckTotalModel> list)
        {
            try
            {
                using (DBContainer db = new DBContainer())
                {
                    foreach (var model in list)
                    {
                        Spl_WareCheckTotal entity = new Spl_WareCheckTotal();
                        entity.Id            = ResultHelper.NewId;
                        entity.WareDetailsId = model.WareDetailsId;
                        entity.WarehouseId   = model.WarehouseId;
                        entity.Remark        = model.Remark;
                        entity.DiffQuantity  = model.DiffQuantity;
                        entity.Quantity      = model.Quantity;
                        entity.Price         = model.Price;
                        entity.State         = model.State;
                        entity.Creater       = model.Creater;
                        entity.Checker       = model.Checker;
                        entity.CheckTime     = model.CheckTime;
                        entity.Confirmation  = model.Confirmation;
                        entity.CreateTime    = ResultHelper.NowTime;

                        db.Spl_WareCheckTotal.Add(entity);
                    }
                    db.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public virtual Spl_WareCheckTotalModel GetById(object id)
        {
            if (IsExists(id))
            {
                Spl_WareCheckTotal      entity = m_Rep.GetById(id);
                Spl_WareCheckTotalModel model  = new Spl_WareCheckTotalModel();
                model.Id            = entity.Id;
                model.WareDetailsId = entity.WareDetailsId;
                model.WarehouseId   = entity.WarehouseId;
                model.Remark        = entity.Remark;
                model.DiffQuantity  = entity.DiffQuantity;
                model.Quantity      = entity.Quantity;
                model.Price         = entity.Price;
                model.State         = entity.State;
                model.Creater       = entity.Creater;
                model.Checker       = entity.Checker;
                model.CheckTime     = entity.CheckTime;
                model.Confirmation  = entity.Confirmation;
                model.CreateTime    = entity.CreateTime;

                return(model);
            }
            else
            {
                return(null);
            }
        }
 public override bool Delete(ref ValidationErrors errors, object id)
 {
     try
     {
         Spl_WareCheckTotal entity = m_Rep.GetById(id);
         if (entity.State == 1)
         {
             errors.Add("单据已经审核不能被删除");
             return(false);
         }
         //if (entity.Confirmation == false)
         //{
         //    errors.Add("单据未经确认不能审核");
         //    return false;
         //}
         if (m_Rep.Delete(id) == 1)
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     catch (Exception ex)
     {
         errors.Add(ex.Message);
         ExceptionHander.WriteException(ex);
         return(false);
     }
 }
        public virtual bool Edit(ref ValidationErrors errors, Spl_WareCheckTotalModel model)
        {
            try
            {
                Spl_WareCheckTotal entity = m_Rep.GetById(model.Id);
                if (entity == null)
                {
                    errors.Add(Resource.Disable);
                    return(false);
                }
                entity.Id            = model.Id;
                entity.WareDetailsId = model.WareDetailsId;
                entity.WarehouseId   = model.WarehouseId;
                entity.Remark        = model.Remark;
                entity.DiffQuantity  = model.DiffQuantity;
                entity.Quantity      = model.Quantity;
                entity.Price         = model.Price;
                entity.State         = model.State;
                entity.Creater       = model.Creater;
                entity.Checker       = model.Checker;
                entity.CheckTime     = model.CheckTime;
                entity.Confirmation  = model.Confirmation;
                entity.CreateTime    = model.CreateTime;



                if (m_Rep.Edit(entity))
                {
                    return(true);
                }
                else
                {
                    errors.Add(Resource.NoDataChange);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.Message);
                ExceptionHander.WriteException(ex);
                return(false);
            }
        }
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="errors">持久的错误信息</param>
        /// <param name="id">主键</param>
        /// <param name="checkFlag">1审核0反审核</param>
        /// <param name="checker">审核人</param>
        /// <returns>是否成功</returns>
        public bool Check(ref ValidationErrors errors, string id, int checkFlag, string checker)
        {
            try
            {
                Spl_WareCheckTotal entity = m_Rep.GetById(id);
                if (entity.State == 1)
                {
                    errors.Add("单据已经审核");
                    return(false);
                }
                if (entity.Confirmation == false)
                {
                    errors.Add("单据未经确认不能审核");
                    return(false);
                }
                if (entity == null)
                {
                    errors.Add(Resource.Disable);
                    return(false);
                }
                entity.State     = checkFlag;
                entity.Checker   = checker;
                entity.CheckTime = DateTime.Now;

                if (m_Rep.Edit(entity))
                {
                    //更新库存表
                    m_Rep.UpdateWareStockPileCheck(entity.Id);
                    return(true);
                }
                else
                {
                    errors.Add(Resource.CheckFail);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                errors.Add(ex.Message);
                ExceptionHander.WriteException(ex);
                return(false);
            }
        }
 public override Spl_WareCheckTotalModel GetById(object id)
 {
     if (IsExists(id))
     {
         Spl_WareCheckTotal      entity = m_Rep.GetById(id);
         Spl_WareCheckTotalModel model  = new Spl_WareCheckTotalModel();
         model.Id                  = entity.Id;
         model.WareDetailsId       = entity.WareDetailsId;
         model.WarehouseId         = entity.WarehouseId;
         model.Remark              = entity.Remark;
         model.DiffQuantity        = entity.DiffQuantity;
         model.Quantity            = entity.Quantity;
         model.Price               = entity.Price;
         model.State               = entity.State;
         model.Creater             = entity.Creater;
         model.Checker             = entity.Checker;
         model.CreaterName         = entity.SysUser1.TrueName;
         model.CheckerName         = entity.SysUser.TrueName;
         model.CheckTime           = entity.CheckTime;
         model.Confirmation        = entity.Confirmation;
         model.CreateTime          = entity.CreateTime;
         model.WarehouseName       = entity.Spl_Warehouse.Name;
         model.WareDetailsCode     = entity.Spl_WareDetails.Code;
         model.WareDetailsUnit     = entity.Spl_WareDetails.Unit;
         model.WareDetailsCategory = entity.Spl_WareDetails.Spl_WareCategory.Name;
         model.WareDetailsVender   = entity.Spl_WareDetails.Vender;
         model.WareDetailsBrand    = entity.Spl_WareDetails.Brand;
         model.WareDetailsSize     = entity.Spl_WareDetails.Size;
         model.WareDetailsName     = entity.Spl_WareDetails.Name;
         return(model);
     }
     else
     {
         return(null);
     }
 }