Пример #1
0
        public CommandResult AddReadLog(string deviceID, DateTime dt, decimal value)
        {
            var device = GetByID(deviceID).QueryObject;

            if (device != null)
            {
                var           provider = ProviderFactory.Create <IProvider <Device, string> >(RepoUri);
                IUnitWork     unitWork = provider.CreateUnitWork();
                DeviceReadLog log      = null;
                if (device.LastDate.HasValue && device.LastValue < value)
                {
                    log = new DeviceReadLog()
                    {
                        ID         = Guid.NewGuid(),
                        DeviceID   = device.ID,
                        DeviceName = device.Name,
                        DeviceType = device.DeviceType,
                        ReadDate   = dt,
                        ReadValue  = value,
                        LastDate   = device.LastDate.Value,
                        LastValue  = device.LastValue.Value,
                        Amount     = value - device.LastValue.Value
                    };
                    ProviderFactory.Create <IProvider <DeviceReadLog, Guid> >(RepoUri).Insert(log, unitWork);
                }
                var clone = device.Clone();
                clone.LastDate  = dt;
                clone.LastValue = log != null ? (clone.LastValue + log.Amount) : value; //记录设备上次的读数时以记录里实际扣除的数为准
                provider.Update(clone, device, unitWork);
                return(unitWork.Commit());
            }
            return(new CommandResult(ResultCode.Fail, "没有找到符合条件的设备"));
        }
        private string GetKey(DeviceReadLog log)
        {
            var key = log.DeviceType == DeviceType.智能电表 ? "用电" : (log.DeviceType == DeviceType.智能水表 ? "用水" : "其它");
            if (rdDay.Checked) key += "," + log.ReadDate.ToString("yyyy年MM月dd日");
            else if (rdMonth.Checked) key += "," + log.ReadDate.ToString("yyyy年MM月");
            else if (rdYear.Checked) key += "," + log.ReadDate.ToString("yyyy年");

            if (chkEachDevice.Checked) key += "," + log.DeviceID;
            return key;
        }
Пример #3
0
 private void ShowItemOnRow(DataGridViewRow row, DeviceReadLog log)
 {
     row.Tag = log;
     row.Cells["colReadDate"].Value   = log.ReadDate;
     row.Cells["colDevice"].Value     = log.DeviceName;
     row.Cells["colDeviceType"].Value = log.DeviceType == DeviceType.智能电表 ? "用电" : (log.DeviceType == DeviceType.智能水表 ? "用水" : null);
     row.Cells["colValue"].Value      = log.ReadValue;
     row.Cells["colLastDate"].Value   = log.LastDate;
     row.Cells["colLastValue"].Value  = log.LastValue;
     row.Cells["colAmount"].Value     = log.Amount;
 }
 private void ShowItemOnRow(DataGridViewRow row, DeviceReadLog log)
 {
     row.Tag = log;
     row.Cells["colReadDate"].Value = log.ReadDate;
     row.Cells["colDevice"].Value = log.DeviceName;
     row.Cells["colDeviceType"].Value = log.DeviceType == DeviceType.智能电表 ? "用电" : (log.DeviceType == DeviceType.智能水表 ? "用水" : null);
     row.Cells["colValue"].Value = log.ReadValue;
     row.Cells["colLastDate"].Value = log.LastDate;
     row.Cells["colLastValue"].Value = log.LastValue;
     row.Cells["colAmount"].Value = log.Amount;
 }
Пример #5
0
        private string GetKey(DeviceReadLog log)
        {
            var key = log.DeviceType == DeviceType.智能电表 ? "用电" : (log.DeviceType == DeviceType.智能水表 ? "用水" : "其它");

            if (rdDay.Checked)
            {
                key += "," + log.ReadDate.ToString("yyyy年MM月dd日");
            }
            else if (rdMonth.Checked)
            {
                key += "," + log.ReadDate.ToString("yyyy年MM月");
            }
            else if (rdYear.Checked)
            {
                key += "," + log.ReadDate.ToString("yyyy年");
            }

            if (chkEachDevice.Checked)
            {
                key += "," + log.DeviceID;
            }
            return(key);
        }