Exemplo n.º 1
0
        public ObjectResponse<Floor> GetFloor(int floorId)
        {
            var result = new ObjectResponse<Floor>();

            Execute(() => { result.Object = FloorService.GetFloorCached(floorId); }, result);

            return result;
        }
Exemplo n.º 2
0
        public ObjectResponse<Map> CreateMap(string mapName)
        {
            var result = new ObjectResponse<Map>();

            ExecuteMaps(entities => { result.Object = MapService.CreateMap(entities, mapName); }, result);

            return result;
        }
Exemplo n.º 3
0
        public ObjectResponse<Floor> CreateFloor(int mapId, string name, string imageUrl)
        {
            var result = new ObjectResponse<Floor>();

            ExecuteMaps(entities => { result.Object = FloorService.CreateFloor(entities, mapId, name, imageUrl); },
                        result);

            return result;
        }
Exemplo n.º 4
0
        public ObjectResponse<NodeInformation> SaveNodeInformation(NodeInformation nodeInf)
        {
            var result = new ObjectResponse<NodeInformation>();

            ExecuteMaps(entities => { result.Object = InformationService.SaveNodeInformation(entities, nodeInf); },
                        result);

            return result;
        }
Exemplo n.º 5
0
        public ObjectResponse<Graph> SaveGraphForFloor(SaveGraphRequest request)
        {
            var result = new ObjectResponse<Graph>();

            ExecuteMaps(entities => { result.Object = GraphService.SaveGraphForFloor(entities, request); }, result);

            return result;
        }
Exemplo n.º 6
0
        public ObjectResponse<NodeInformation> GetNodeInformationForNode(int nodeId)
        {
            var result = new ObjectResponse<NodeInformation>();

            ExecuteMaps(
                entities => { result.Object = InformationService.GetNodeInformationForNode(entities, nodeId); }, result);

            return result;
        }
Exemplo n.º 7
0
        public ObjectResponse<Node> GetNodeForQRCode(int mapId, string qrCode)
        {
            var result = new ObjectResponse<Node>();

            ExecuteMaps(entities => { result.Object = InformationService.GetNodeForQRCode(entities, mapId, qrCode); },
                        result);

            return result;
        }
Exemplo n.º 8
0
        public async Task <IActionResult> LoginByCodeBind(LoginByCodeBindModel model)
        {
            var result = await HttpContext.AuthenticateAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme);

            if (result.Succeeded == false)
            {
                return(ObjectResponse.Ok(10026, "External authentication error"));
            }

            var(loginProvider, providerKey) = GetExternalUser(result);


            if (loginProvider.IsEmpty() || providerKey.IsEmpty())
            {
                return(ObjectResponse.Ok(10026, "操作超时,请重新授权"));
            }

            var phoneExist = await _userService.ExistPhoneAsync(model.Phone);


            var validResult = await _validationComponent.ValidSmsAsync(model.Phone, model.Code);

            //验证验证码
            if (!validResult.Data)
            {
                return(ObjectResponse.Ok(20009, "验证码不正确"));
            }

            if (!string.IsNullOrEmpty(model.Code))
            {
                await _validationComponent.ClearSession(model.Phone);
            }

            if (!phoneExist)
            {//注册用户
                var password = Str.GetRandomString(10);
                await _userService.RegisterAsync(model.Phone, password, _appSettings.ClientId, _appSettings.ClientName, HttpContext.GetIp());
            }

            var account = await _userService.GetUserByPhoneAsync(model.Phone);

            if (null == account)
            {
                return(ObjectResponse.Ok(20041, "该用户不存在"));
            }

            if (!account.Enabled)
            {
                return(ObjectResponse.Ok(20043, "您的账号已被禁用"));
            }

            //绑定
            var bindResult = await _externalUserService.BindExternalUser(_appSettings.ClientId, account.Id, providerKey, loginProvider, string.Empty);

            if (bindResult.Code != 0)
            {
                return(ObjectResponse.Ok(bindResult.Code, bindResult.Message));
            }
            await HttpContext.SignOutAsync(IdentityServerConstants.ExternalCookieAuthenticationScheme);

            await SignIn(account, UserLoginModel.External);

            return(ObjectResponse.Ok());
        }
Exemplo n.º 9
0
        public ObjectResponse<Graph> GetGraphForFloor(int floorId)
        {
            var result = new ObjectResponse<Graph>();

            Execute(() => { result.Object = GraphService.GetGraphForFloorCached(floorId); }, result);

            return result;
        }
Exemplo n.º 10
0
        public async Task <ObjectResponse <T> > UrlPostToJsonObject <T>(string request, IReadOnlyCollection <KeyValuePair <string, string> > data = null, string referer = null, ERequestOptions requestOptions = ERequestOptions.None, byte maxTries = MaxTries) where T : class
        {
            if (string.IsNullOrEmpty(request) || (maxTries == 0))
            {
                Logger.LogNullError(nameof(request) + " || " + nameof(maxTries));

                return(null);
            }

            ObjectResponse <T> result = null;

            for (byte i = 0; i < maxTries; i++)
            {
                StringResponse response = await UrlPostToString(request, data, referer, requestOptions | ERequestOptions.ReturnClientErrors, 1).ConfigureAwait(false);

                if (response == null)
                {
                    return(null);
                }

                if (response.StatusCode.IsClientErrorCode())
                {
                    if (requestOptions.HasFlag(ERequestOptions.ReturnClientErrors))
                    {
                        result = new ObjectResponse <T>(response);
                    }

                    break;
                }

                if (string.IsNullOrEmpty(response.Content))
                {
                    continue;
                }

                T obj;

                try {
                    obj = JsonConvert.DeserializeObject <T>(response.Content);
                } catch (JsonException e) {
                    Logger.LogGenericWarningException(e);

                    if (Debugging.IsUserDebugging)
                    {
                        Logger.LogGenericDebug(string.Format(Strings.Content, response.Content));
                    }

                    continue;
                }

                return(new ObjectResponse <T>(response, obj));
            }

            if (maxTries > 1)
            {
                Logger.LogGenericWarning(string.Format(Strings.ErrorRequestFailedTooManyTimes, maxTries));
                Logger.LogGenericDebug(string.Format(Strings.ErrorFailingRequest, request));
            }

            return(result);
        }
Exemplo n.º 11
0
        public async Task <IActionResult> Post([FromBody] AuthorizationCodeModel data)
        {
            var(error, result) = await _authorizeClient.GetToken(data.Code, data.State, data.RedirectUri);

            return(!string.IsNullOrEmpty(error) ? ObjectResponse.Ok(-1, error) : ObjectResponse.Ok(result));
        }
Exemplo n.º 12
0
        public async Task <object> Edit(WorkShift workShift)
        {
            ObjectResponse response;

            try
            {
                WorkShift workShiftToUpdate = await Context.WorkShifts.FindAsync(workShift.Id);

                if (workShiftToUpdate == null)
                {
                    response = new ObjectResponse
                    {
                        IsPassed    = false,
                        IsException = false,
                        Value       = "Can't find the id of work day on the database plaese try again"
                    };

                    return(response);
                }

                workShiftToUpdate.ShiftTypeId = workShift.ShiftTypeId;
                workShiftToUpdate.EmployeeId  = workShift.EmployeeId;
                workShiftToUpdate.StartShift  = workShift.StartShift;
                workShiftToUpdate.EndShift    = workShift.EndShift;
                workShiftToUpdate.WorkDayId   = workShift.WorkDayId;
                await Context.SaveChangesAsync();

                response = new ObjectResponse
                {
                    IsPassed = true,
                    Value    = workShiftToUpdate
                };

                ActivityRecord activityRecord;
                try
                {
                    activityRecord = new ActivityRecord
                    {
                        Action    = Enums.ActionType.Edit,
                        ManagerId = (await Context.AreaManagers.Where(
                                         am => am.AreaId == workShift.WorkDay.Position.AreaId)
                                     .ToListAsync()).LastOrDefault().Id,
                        Time        = DateTime.Now,
                        WorkShiftId = workShift.Id
                    };

                    await Context.ActivityRecords.AddAsync(activityRecord);

                    await Context.SaveChangesAsync();
                }
                catch
                {
                    activityRecord = new ActivityRecord
                    {
                        Action    = Enums.ActionType.Edit,
                        ManagerId = (await Context.AreaManagers.Where(
                                         am => am.AreaId == workShift.WorkDay.Position.AreaId)
                                     .ToListAsync()).LastOrDefault().Id,
                        Time        = DateTime.Now,
                        WorkShiftId = workShift.Id
                    };

                    await Context.ActivityRecords.AddAsync(activityRecord);

                    await Context.SaveChangesAsync();
                }

                return(response);
            }
            catch
            {
                response = new ObjectResponse
                {
                    IsPassed    = false,
                    IsException = true,
                    Value       = "Somthing rong with database please try again"
                };

                return(response);
            }
        }
Exemplo n.º 13
0
        public async Task <object> Create(WorkShift workShift)
        {
            ObjectResponse response;

            try
            {
                await Context.WorkShifts.AddAsync(workShift);

                await Context.SaveChangesAsync();

                response = new ObjectResponse
                {
                    IsPassed = true,
                    Value    = workShift
                };

                ActivityRecord activityRecord;
                try
                {
                    activityRecord = new ActivityRecord
                    {
                        Action    = Enums.ActionType.Create,
                        ManagerId = (await Context.AreaManagers.Where(
                                         ma => ma.AreaId == workShift.WorkDay.Position.AreaId)
                                     .ToListAsync()).LastOrDefault().Id,
                        Time        = DateTime.Now,
                        WorkShiftId = workShift.Id
                    };

                    await Context.ActivityRecords.AddAsync(activityRecord);

                    await Context.SaveChangesAsync();
                }
                catch
                {
                    activityRecord = new ActivityRecord
                    {
                        Action    = Enums.ActionType.Create,
                        ManagerId = (await Context.AreaManagers.Where(
                                         ma => ma.AreaId == workShift.WorkDay.Position.AreaId)
                                     .ToListAsync()).LastOrDefault().Id,
                        Time        = DateTime.Now,
                        WorkShiftId = workShift.Id
                    };

                    await Context.ActivityRecords.AddAsync(activityRecord);

                    await Context.SaveChangesAsync();
                }

                return(response);
            }
            catch
            {
                response = new ObjectResponse
                {
                    IsPassed    = false,
                    IsException = true,
                    Value       = "Somthing rong with the database please try again"
                };

                return(response);
            }
        }
Exemplo n.º 14
0
        public async Task <IActionResult> GetClients()
        {
            var clients = await _clientRepository.TableNoTracking.Where(c => c.Enabled).ToListAsync();

            return(ObjectResponse.Ok(clients));
        }
Exemplo n.º 15
0
        public ObjectResponse<Node> GetNodeForNFC(int mapId, string nfcTag)
        {
            var result = new ObjectResponse<Node>();

            ExecuteMaps(entities => { result.Object = InformationService.GetNodeForNFC(entities, mapId, nfcTag); },
                        result);

            return result;
        }
Exemplo n.º 16
0
        public ObjectResponse<string> GetFloorplanImage(int floorId)
        {
            var result = new ObjectResponse<string>();

            Execute(() => { result.Object = FloorService.GetFloorplanImageCached(floorId); }, result);

            return result;
        }
Exemplo n.º 17
0
        public async Task <IActionResult> SignOut()
        {
            await HttpContext.SignOutAsync(IdentityServerConstants.DefaultCookieAuthenticationScheme);

            return(ObjectResponse.Ok());
        }