コード例 #1
0
        public async Task <IHttpActionResult> GetDeviceType(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            DeviceType item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID        = item.UUID,
                Name        = item.Name,
                Description = item.Description,
                Unit        = item.Unit,
                Price1      = TextHelper.ConvertMoney(item.Price1),
                Price2      = TextHelper.ConvertMoney(item.Price2),
                Price3      = TextHelper.ConvertMoney(item.Price3),
                Price4      = TextHelper.ConvertMoney(item.Price4),
                Price5      = TextHelper.ConvertMoney(item.Price5),
                CreateTime  = item.CreateTime,
                Remark      = item.Remark
            };

            return(Ok(result));
        }
コード例 #2
0
        public async Task <IHttpActionResult> PutAdmin(string uuid, [FromUri] Admin admin)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            if (uuid != admin.UUID)
            {
                return(BadRequest());
            }

            try
            {
                admin.Password   = TextHelper.MD5Encrypt(admin.Password);
                admin.CreateTime = DateTime.Now;
                await this.adminRepository.PutAsync(admin);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.adminRepository.IsExist(uuid))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #3
0
        public async Task <IHttpActionResult> GetRecharge(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Recharge item = await this.rechargeRespository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID     = item.UUID,
                RoomNo   = item.RoomNo,
                RealName = item.Room.RealName,
                Money    = TextHelper.ConvertMoney(item.Money),
                DateTime = item.DateTime,
                Remark   = item.Remark
            };

            return(Ok(result));
        }
コード例 #4
0
        public async Task <IHttpActionResult> PostDevice([FromUri] Device device)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                device.Status      = 0;
                device.DateTime    = DateTime.Now;
                device.ArchiveTime = DateTime.Now;
                await this.repository.AddAsync(device);
            }
            catch (DbUpdateException)
            {
                if (this.repository.IsExist(device.DeviceNo))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #5
0
ファイル: RoomsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> PostRoom([FromUri] Room room)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                room.CreateTime = DateTime.Now;
                await this.roomRepository.AddAsync(room);

                TextHelper.SetCacheBuilding(this.buildingRepository, this.roomRepository);
            }
            catch (DbUpdateException)
            {
                if (this.roomRepository.IsExist(room.RoomNo))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #6
0
        public async Task <IHttpActionResult> GetAdmin(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Admin item = await this.adminRepository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID       = item.UUID,
                RoleID     = item.RoleID,
                RoleName   = item.Role.Name,
                UserName   = item.UserName,
                Password   = item.Password,
                RealName   = item.RealName,
                Phone      = item.Phone,
                CreateTime = item.CreateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #7
0
        public async Task <IHttpActionResult> PostCommunity([FromUri] Community Community)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                Community.UUID       = TextHelper.GenerateUUID();
                Community.CreateTime = DateTime.Now;
                await this.repository.AddAsync(Community);
            }
            catch (DbUpdateException)
            {
                if (this.repository.IsExist(Community.UUID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #8
0
ファイル: RoomsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> PutRoom(string uuid, [FromUri] Room room)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            if (uuid != room.RoomNo)
            {
                return(BadRequest());
            }

            try
            {
                room.CreateTime = DateTime.Now;
                await this.roomRepository.PutAsync(room);

                TextHelper.SetCacheBuilding(this.buildingRepository, this.roomRepository);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.roomRepository.IsExist(uuid))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #9
0
        public async Task <IHttpActionResult> PutLog(int uuid, [FromUri] Log log)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            if (uuid != log.ID)
            {
                return(BadRequest());
            }

            try
            {
                log.DateTime = DateTime.Now;
                await this.repository.PutAsync(log);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.repository.IsExist(uuid))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #10
0
        public async Task <IHttpActionResult> GetLog(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Log item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID         = item.ID,
                UserName   = item.Admin.UserName,
                RealName   = item.Admin.RealName,
                Phone      = item.Admin.Phone,
                Type       = item.Type,
                ClientAddr = item.ClientAddr,
                Content    = item.Content,
                DateTime   = item.DateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #11
0
ファイル: BillsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> GetBill(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Bill item = await this.billRepository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID         = item.ID,
                DeviceNo   = item.DeviceNo,
                DeviceName = item.Device.DeviceName,
                RoomNo     = item.Device.RoomNo,
                PreValue   = item.PreValue,
                CurValue   = item.CurValue,
                Money      = TextHelper.ConvertMoney(item.Money),
                DateTime   = item.DateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #12
0
ファイル: BillsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> PostBill([FromUri] Bill bill)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                bill.LotNo    = TextHelper.GenerateUUID();
                bill.DateTime = DateTime.Now;
                //bill.Remark = string.Format("yyyy-MM", bill.DateTime);
                await this.billRepository.AddAsync(bill);
            }
            catch (DbUpdateException)
            {
                if (this.billRepository.IsExist(bill.ID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #13
0
ファイル: BillsController.cs プロジェクト: 554476577/Prepaid
        public IHttpActionResult ExportRoomBills()
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            string fileName = string.Format("业主能耗缴费历史账单{0}.xls", DateTime.Now.ToString("yyyy-MM-dd[hh-mm-ss]"));

            string[] titles = { "房间编号", "结算批号", "业主姓名", "结算时间", "设备编号", "设备名称", "上次刻度", "结算刻度",
                                "单价",   "价格",   "总费用",  "账户余额" };
            string   RoomNo              = HttpContext.Current.Request.Params["RoomNo"];
            string   BuildingNo          = HttpContext.Current.Request.Params["BuildingNo"];
            string   Floor               = HttpContext.Current.Request.Params["Floor"];
            string   RealName            = HttpContext.Current.Request.Params["RealName"];
            string   StartTime           = HttpContext.Current.Request.Params["StartTime"];
            string   EndTime             = HttpContext.Current.Request.Params["EndTime"];
            IEnumerable <RoomBill> bills = this.billRepository.GetRoomBills(RoomNo, BuildingNo, Floor, RealName, StartTime, EndTime);

            ReportHelper.ExportRoomBills(bills, titles, fileName);
            HttpContext.Current.Response.ContentType = "text/plain";
            HttpContext.Current.Response.Write(fileName);

            return(Ok());
        }
コード例 #14
0
ファイル: BillsController.cs プロジェクト: 554476577/Prepaid
        public IHttpActionResult GetArrearsRooms()
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Pager pager = null;
            IEnumerable <PrepaidBill> bills;
            string strPageIndex = HttpContext.Current.Request.Params["PageIndex"];
            string strPageSize  = HttpContext.Current.Request.Params["PageSize"];
            string buildingNo   = HttpContext.Current.Request.Params["BuildingNo"];

            if (strPageIndex == null || strPageSize == null)
            {
                pager = new Pager();
                bills = this.billRepository.GetArrearsPrepaidBills(buildingNo);
            }
            else
            {
                // 获取分页数据
                int pageIndex = Convert.ToInt32(strPageIndex);
                int pageSize  = Convert.ToInt32(strPageSize);
                pager = new Pager(pageIndex, pageSize, this.billRepository.GetArrearsPrepaidBillsCount(buildingNo));
                bills = this.billRepository.GetArrearsPrepaidPagerBills(buildingNo, pageIndex, pageSize);
            }
            pager.Items = bills;

            return(Ok(pager));
        }
コード例 #15
0
        public async Task <IHttpActionResult> GetBuilding(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Building item = await this.buildingRepository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                BuildingNo    = item.BuildingNo,
                Name          = item.Name,
                CommunityID   = item.CommunityID,
                CommunityName = item.Community.Name,
                Description   = item.Description,
                Floors        = item.Floors,
                CreateTime    = item.CreateTime,
                Remark        = item.Remark
            };

            return(Ok(result));
        }
コード例 #16
0
ファイル: RolesController.cs プロジェクト: 554476577/Prepaid
        // GET: api/roles/1
        public async Task <IHttpActionResult> GetRole(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Role item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID          = item.ID,
                Name        = item.Name,
                Description = item.Description,
                Status      = item.Status,
                CreateTime  = item.CreateTime,
                Remark      = item.Remark
            };

            return(Ok(result));
        }
コード例 #17
0
ファイル: MsgsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> GetMsg(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Msg item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID         = item.ID,
                RoomNo     = item.RoomNo,
                Content    = item.Content,
                PostType   = item.PostType,
                Status     = item.Status,
                CreateTime = item.CreateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #18
0
ファイル: AlarmsController.cs プロジェクト: 554476577/Prepaid
        public async Task <IHttpActionResult> GetAlarm(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Alarm item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID         = item.ID,
                DeviceNo   = item.DeviceNo,
                DeviceName = item.Device.DeviceName,
                Content    = item.Content,
                Type       = item.Type,
                Level      = item.Level,
                MsgID      = item.MsgID,
                CreateTime = item.CreateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #19
0
        public async Task <IHttpActionResult> GetCutout(int uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Cutout item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                ID         = item.ID,
                DeviceNo   = item.DeviceNo,
                DeviceName = item.Device.DeviceName,
                Reason     = item.Reason,
                CreateTime = item.CreateTime,
                Remark     = item.Remark
            };

            return(Ok(result));
        }
コード例 #20
0
        public IHttpActionResult GetRealtimeFundStatis()
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            IEnumerable <string> BuildingNos = from item in this.buildingRepository.GetAll() select item.BuildingNo;
            var    statises = this.deviceRepository.GetRealtimeFunds();
            var    Balance  = statises.Sum(p => p.totalBalance);
            double Expend   = 0.00;

            foreach (var item in statises)
            {
                Expend += Math.Round(item.totalExpend ?? 0.00, 2);
            }
            var items = new
            {
                BuildingNos   = BuildingNos,
                TotalBalances = from item in statises select TextHelper.ConvertMoney(item.totalBalance),
                TotalExpends  = from item in statises select TextHelper.ConvertMoney((int)(item.totalExpend ?? 0)),
                Balance       = TextHelper.ConvertMoney(Balance),
                Expend        = TextHelper.ConvertMoney((int)Expend),
                Percent       = string.Format("{0:P}", Expend / Balance)
            };

            return(Ok(items));
        }
コード例 #21
0
        public async Task <IHttpActionResult> GetLadder(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Ladder item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID        = item.UUID,
                TypeID      = item.TypeID,
                TypeName    = item.DeviceType.Name,
                Name        = item.Name,
                Description = item.Description,
                MinEnergy   = item.MinEnergy,
                MaxEnergy   = item.MaxEnergy,
                Price       = TextHelper.ConvertMoney(item.Price),
                CreateTime  = item.CreateTime,
                Remark      = item.Remark
            };

            return(Ok(result));
        }
コード例 #22
0
        public async Task <IHttpActionResult> PostLog([FromUri] Log log)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                log.DateTime = DateTime.Now;
                await this.repository.AddAsync(log);
            }
            catch (DbUpdateException)
            {
                if (this.repository.IsExist(log.ID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #23
0
        public async Task <IHttpActionResult> GetCredit(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Credit item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID        = item.UUID,
                Name        = item.Name,
                Description = item.Description,
                MinScore    = item.MinScore,
                MaxScore    = item.MaxScore,
                Arrears     = TextHelper.ConvertMoney(item.Arrears),
                CreateTime  = item.CreateTime,
                Remark      = item.Remark
            };

            return(Ok(result));
        }
コード例 #24
0
        public async Task <IHttpActionResult> PutCommunity(string uuid, [FromUri] Community Community)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            if (uuid != Community.UUID)
            {
                return(BadRequest());
            }

            try
            {
                Community.CreateTime = DateTime.Now;
                await this.repository.PutAsync(Community);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.repository.IsExist(uuid))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #25
0
        public async Task <IHttpActionResult> PutRecharge(string uuid, [FromUri] Recharge recharge)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            if (uuid != recharge.UUID)
            {
                return(BadRequest());
            }

            try
            {
                await this.rechargeRespository.PutAsync(recharge);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!this.rechargeRespository.IsExist(uuid))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #26
0
        public async Task <IHttpActionResult> GetCommunity(string uuid)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Community item = await this.repository.GetByIdAsync(uuid);

            if (item == null)
            {
                return(NotFound());
            }

            var result = new
            {
                UUID        = item.UUID,
                Name        = item.Name,
                Description = item.Description,
                Address     = item.Address,
                Area        = item.Area,
                Capacity    = item.Capacity,
                CheckInTime = item.CheckInTime,
                CreateTime  = item.CreateTime,
                Remark      = item.Remark
            };

            return(Ok(result));
        }
コード例 #27
0
        public async Task <IHttpActionResult> PostAdmin([FromUri] Admin admin)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            try
            {
                admin.UUID       = Prepaid.Utils.TextHelper.GenerateUUID();
                admin.Password   = TextHelper.MD5Encrypt(admin.Password);
                admin.CreateTime = DateTime.Now;
                await this.adminRepository.AddAsync(admin);
            }
            catch (DbUpdateException)
            {
                if (this.adminRepository.IsExist(admin.UUID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
コード例 #28
0
ファイル: RoomsController.cs プロジェクト: 554476577/Prepaid
        // GET: api/rooms
        public IHttpActionResult GetRooms()
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }

            Pager pager = null;
            IEnumerable <Room> rooms;
            string             RealName     = HttpContext.Current.Request.Params["RealName"];
            string             BuildingNo   = HttpContext.Current.Request.Params["BuildingNo"];
            string             RoomNo       = HttpContext.Current.Request.Params["RoomNo"];
            string             Floor        = HttpContext.Current.Request.Params["Floor"];
            string             strPageIndex = HttpContext.Current.Request.Params["PageIndex"];
            string             strPageSize  = HttpContext.Current.Request.Params["PageSize"];

            if (strPageIndex == null || strPageSize == null)
            {
                pager = new Pager();
                rooms = this.roomRepository.GetAll(RealName, BuildingNo, RoomNo, Floor);
            }
            else
            {
                // 获取分页数据
                int pageIndex = Convert.ToInt32(strPageIndex);
                int pageSize  = Convert.ToInt32(strPageSize);
                pager = new Pager(pageIndex, pageSize, this.roomRepository.GetCount(RealName, BuildingNo, RoomNo, Floor));
                rooms = this.roomRepository.GetPagerItems(RealName, BuildingNo, RoomNo, Floor, pageIndex, pageSize, u => u.BuildingNo);
            }

            var items = from item in rooms
                        select new
            {
                RoomNo           = item.RoomNo,
                BuildingNo       = item.BuildingNo,
                BuildingName     = item.Building.Name,
                Floors           = item.Building.Floors,
                Floor            = item.Floor,
                Area             = item.Area,
                Price            = item.Price,
                RealName         = item.RealName,
                Phone            = item.Phone,
                Email            = item.Email,
                AccountBalance   = TextHelper.ConvertMoney(item.AccountBalance),
                AccountWarnLimit = TextHelper.ConvertMoney(item.AccountWarnLimit),
                CreditScore      = item.CreditScore,
                AlipayAccount    = item.AlipayAccount,
                WechatAccount    = item.WechatAccount,
                BankAccount      = item.BankAccount,
                CreateTime       = item.CreateTime,
                Remark           = item.Remark
            };

            pager.Items = items;

            return(Ok(pager));
        }
コード例 #29
0
        public IHttpActionResult GetSystemSetting()
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }
            Setting setting = TextHelper.GetSystemConfig();

            return(Ok(setting));
        }
コード例 #30
0
        public IHttpActionResult PostSystemSetting([FromUri] Setting setting)
        {
            var errResult = TextHelper.CheckAuthorized(Request);

            if (errResult != null)
            {
                return(errResult);
            }
            TextHelper.SetSystemConfig(setting);

            return(Ok());
        }