public int UpdateEuipmentCustomModel(EquipmentCustomModel vm)
        {
            var currentDateTime = vm.ModifiedDate;
            var userId          = vm.ModifiedBy;

            using (var equipmentRep = UnitOfWork.EquipmentRepository)
            {
                var model = EquipmentMapper.MapModelToViewModel(vm);
                if (model.EquipmentMasterId > 0)
                {
                    equipmentRep.UpdateEntity(model, model.EquipmentMasterId);
                }

                var eqLog = new EquipmentLog
                {
                    EquipmentId = model.EquipmentMasterId,
                    CreatedBy   = userId,
                    CreatedDate = currentDateTime,
                    DisableDate = null,
                    EnableDate  = null
                };
                if (model.ActiveDeactive)
                {
                    eqLog.EnableDate = currentDateTime;
                }
                else
                {
                    eqLog.DisableDate = currentDateTime;
                }
                SaveEquipmentLog(eqLog);
                return(model.EquipmentMasterId);
            }
        }
        public int AddUpdateEquipment(EquipmentMaster equipment)
        {
            try
            {
                using (var equipmentRep = UnitOfWork.EquipmentRepository)
                {
                    var currentDateTime = equipment.EquipmentMasterId > 0
                        ? equipment.ModifiedDate
                        : equipment.CreatedDate;

                    var userId = equipment.EquipmentMasterId > 0
                        ? equipment.ModifiedBy
                        : equipment.CreatedBy;

                    if (equipment.EquipmentMasterId > 0)
                    {
                        equipmentRep.UpdateEntity(equipment, equipment.EquipmentMasterId);
                    }
                    else
                    {
                        equipmentRep.Create(equipment);
                    }

                    var eqLog = new EquipmentLog
                    {
                        EquipmentId = equipment.EquipmentMasterId,
                        DisableDate = null,
                        EnableDate  = null,
                        CreatedBy   = userId,
                        CreatedDate = currentDateTime
                    };

                    if (equipment.EquipmentDisabled)
                    {
                        eqLog.DisableDate = currentDateTime;
                    }
                    else
                    {
                        eqLog.EnableDate = currentDateTime;
                    }

                    SaveEquipmentLog(eqLog);

                    return(equipment.EquipmentMasterId);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 private int SaveEquipmentLog(EquipmentLog equipmentLog)
 {
     try
     {
         using (var equipmentRep = UnitOfWork.EquipmentLogRespository)
         {
             equipmentRep.Create(equipmentLog);
             return(equipmentLog.Id);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// 得到"新增|異動"一筆道具紀錄的Log物件
        /// </summary>
        /// <param name="uid">異動到哪位使用者的資料</param>
        /// <param name="equipment">要寫入的道具</param>
        /// <param name="equipmentLog">需要詳細記錄的Log</param>
        /// <returns></returns>
        private static DBLog _GetSaveEquipmentDBLog(long uid, Equipment equipment, EquipmentLog equipmentLog, DBLog.LogType logType)
        {
            DBLog dBLog = ComponentFactory.CreateWithId <DBLog>(IdGenerater.GenerateId());

            dBLog.uid      = uid;
            dBLog.logType  = (int)logType;
            dBLog.document = new BsonDocument
            {
                { "id", equipment.Id }, // 對應的道具紀錄id
                { "configType", equipment.configType },
                { "configId", equipment.configId },
                { "count", equipmentLog.count },            // 交易數量
                { "fromType", (int)equipmentLog.fromType }, // 從哪邊獲得|移除的
                { "from", equipmentLog.from } // 從哪邊獲得|移除的(玩家=uid, 系統=SystemUid)
            };
            dBLog.createAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
            return(dBLog);
        }
Exemplo n.º 5
0
 public int delete(EquipmentLog _model)
 {
     return(dal.Delete(_model));
 }
Exemplo n.º 6
0
 public int InsertOrUpdateBy(EquipmentLog _model, string _identity)
 {
     return(_model.ID == 0 ? dal.Insert(_model) : dal.Update(_model, _identity));
 }
Exemplo n.º 7
0
 public int UpdateBy(EquipmentLog _model, string _identity)
 {
     return(dal.Update(_model, _identity));
 }
Exemplo n.º 8
0
 public int Update(EquipmentLog _model)
 {
     return(dal.Update(_model, "ID"));
 }
Exemplo n.º 9
0
 public int Insert(EquipmentLog _model)
 {
     return(dal.Insert(_model));
 }
        /// <summary>
        /// 刪除不可疊多筆同類型的道具紀錄
        /// </summary>
        /// <param name="uid">異動到哪位使用者的資料</param>
        /// <param name="equipment">要寫入的道具</param>
        /// <param name="equipmentLog">需要詳細記錄的Log</param>
        /// <returns></returns>
        private static DBLog _GetDeleteBatchNoStackEquipmentDBLog(long uid, List <Equipment> equipments, EquipmentLog equipmentLog)
        {
            var   ids   = equipments.Select(e => e.Id).ToList();
            DBLog dBLog = ComponentFactory.CreateWithId <DBLog>(IdGenerater.GenerateId());

            dBLog.uid      = uid;
            dBLog.logType  = (int)DBLog.LogType.SubtractEquipment;
            dBLog.document = new BsonDocument
            {
                { "ids", new BsonArray(ids) }, // 對應的道具紀錄id list
                { "configType", equipments[0].configType },
                { "configId", equipments[0].configId },
                { "count", equipments.Count },              // 交易數量
                { "fromType", (int)equipmentLog.fromType }, // 從哪邊移除的
                { "from", equipmentLog.from } // 從哪邊移除的(玩家=uid, 系統=SystemUid)
            };
            dBLog.createAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
            return(dBLog);
        }
Exemplo n.º 11
0
 public int Delete(EquipmentLog model)
 {
     return(CommonAccess.ComSQLiteDelete(model, "ID"));
 }
Exemplo n.º 12
0
 public int Update(EquipmentLog model, string _identity)
 {
     return(CommonAccess.ComSQLiteUpdate(model, _identity));
 }
Exemplo n.º 13
0
 public int Insert(EquipmentLog model)
 {
     return(CommonAccess.ComSQLiteInsert(model));
 }