コード例 #1
0
        public HttpResponseMessage Put(TASK_DETAILS request)
        {
            List <ErrorStateResponse> errors = null;

            this.Request = new HttpRequestMessage();
            this.Request.SetConfiguration(new HttpConfiguration());
            try
            {
                if (request != null)
                {
                    if (!request.Task_ID.ToGuid().IsValidGUID())
                    {
                        throw new Exception("Invalid Request");
                    }

                    bool transactionStatus = TaskApi.UpdateEndTask(request);
                    return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, transactionStatus, errors));
                }
                ///Model Validation Failed
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage("Invalid Request"));
                return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, null, errors));
            }
            catch (Exception ex)
            {
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage(ex.Message));
            }
            return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.BadRequest, null, errors));
        }
コード例 #2
0
        public async Task <BaseResponseMessage> UpdateSeries(SeriesModel series)
        {
            var newSeries = _mapper.Map <Series>(series);

            var response = new BaseResponseMessage();

            var seriesToUpdate = await _seriesRepository.GetSeries(newSeries.Id);

            if (seriesToUpdate == null)
            {
                response.RawData = $"Series with {newSeries.Id} wasn't found.";
                return(response);
            }

            if (seriesToUpdate.Equals(newSeries))
            {
                response.RawData = $"Series {newSeries.Name} already existing with similar data.";
                return(response);
            }

            await _seriesRepository.UpdateSerires(seriesToUpdate);

            response.Id = newSeries.Id;
            return(response);
        }
コード例 #3
0
ファイル: EditionService.cs プロジェクト: kn1m/briefCore
        public async Task <BaseResponseMessage> UpdateEdition([NotNull] EditionModel edition)
        {
            var editionRepository = _unitOfWork.GetEditionRepository();

            var newEdition = _mapper.Map <Edition>(edition);

            var response = new BaseResponseMessage();

            var editionToUpdate = await editionRepository.GetEdition(newEdition.Id);

            if (editionToUpdate == null)
            {
                response.RawData = $"Edition with {newEdition.Id} wasn't found.";
                return(response);
            }

            if (newEdition.Equals(editionToUpdate))
            {
                response.RawData = $"Edition {newEdition.Description} already existing with similar data.";
                return(response);
            }

            await editionRepository.UpdateEdition(newEdition);

            response.Id = newEdition.Id;
            return(response);
        }
コード例 #4
0
        public override void DoOperation()
        {
            //Validate Reques Header / Constants
            this.baseResponseMessage = ValidateInput();
            if (!this.baseResponseMessage.header.IsSuccess)
            {
                throw new Exception(this.response.header.ResponseMessage);
            }

            //Operation
            switch (this.request.Header.OperationTypes)
            {
            case (int)OperationType.OperationTypes.ADD:
                break;

            case (int)OperationType.OperationTypes.GET:
                break;

            case (int)OperationType.OperationTypes.UPDATE:
                break;

            case (int)OperationType.OperationTypes.DELETE:
                break;

            default:
                break;
            }
        }
コード例 #5
0
        public async Task <BaseResponseMessage> RemovePublisher(Guid id)
        {
            var response = new BaseResponseMessage();

            var publisherToRemove = await _publisherRepository.GetPublisher(id);

            if (publisherToRemove == null)
            {
                response.RawData = $"Publisher with {id} wasn't found.";
                return(response);
            }

            var editionsToRemove = await _editionRepository.GetEditionsByBookOrPublisher(id);

            if (editionsToRemove != null)
            {
                editionsToRemove.ForEach(async e =>
                {
                    var covers = await _coverRepository.GetCoversByEdition(e.Id);

                    if (covers != null)
                    {
                        covers.ForEach(c => TryCleanUp(c.LinkTo));

                        await _coverRepository.RemoveCovers(covers);
                    }
                });

                await _editionRepository.RemoveEditions(editionsToRemove);
            }
            await _publisherRepository.RemovePublisher(publisherToRemove);

            response.Id = id;
            return(response);
        }
コード例 #6
0
ファイル: EditionService.cs プロジェクト: kn1m/briefCore
        public async Task <BaseResponseMessage> RemoveEdition(Guid id)
        {
            var editionRepository = _unitOfWork.GetEditionRepository();
            var coverRepository   = _unitOfWork.GetCoverRepository();

            var response = new BaseResponseMessage();

            var editionToRemove = await editionRepository.GetEdition(id);

            if (editionToRemove == null)
            {
                response.RawData = $"Edition with {id} wasn't found.";
                return(response);
            }

            var covers = await coverRepository.GetCoversByEdition(id);

            if (covers != null)
            {
                covers.ForEach(c => TryCleanUp(c.LinkTo));

                await coverRepository.RemoveCovers(covers);
            }

            await editionRepository.RemoveEdition(editionToRemove);

            response.Id = id;
            return(response);
        }
コード例 #7
0
ファイル: WxImageResponse.cs プロジェクト: angrykun/WeChat
        /// <summary>
        /// 微信响应方法
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public override string Response(BaseResponseMessage response, EnterParamEntity param)
        {
            var           _Response = response as ImageResponseMessage;
            StringBuilder result    = new StringBuilder();

            result.AppendFormat("<xml>");
            result.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", _Response.ToUserName);
            result.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", _Response.FromUserName);
            result.AppendFormat("<CreateTime>{0}></CreateTime>", _Response.CreateTime);
            result.AppendFormat("<MsgType><![CDATA[{0}]]></MsgType>", _Response.MsgType);
            result.AppendFormat("<Image>");
            result.AppendFormat("<MediaId><![CDATA[{0}]]></MediaId>", _Response.MediaId);
            result.AppendFormat("</Image>");
            result.AppendFormat("</xml>");
            if (param.IsAes)
            {
                string data    = string.Empty;
                int    encrypt = new WXBizMsgCrypt(param.token, param.EncodingAESKey, param.appid).
                                 EncryptMsg(result.ToString(), _Response.CreateTime.ToString(), param.nonce, ref data);
                result = new StringBuilder(data);
                if (encrypt != 0)
                {
                    LogHelper.WriteLog("【微信响应图片消息】加密失败", LogMessageType.Error);
                }
            }
            return(result.ToString());
        }
コード例 #8
0
ファイル: BookService.cs プロジェクト: kn1m/briefCore
        public async Task <BaseResponseMessage> UpdateBook(BookModel book)
        {
            var bookRepository = _unitOfWork.GetBookRepository();

            var newBook = _mapper.Map <Book>(book);

            var response = new BaseResponseMessage();

            var bookToUpdate = await bookRepository.GetBook(newBook.Id);

            if (bookToUpdate == null)
            {
                response.RawData = $"Book with {newBook.Id} wasn't found.";
                return(response);
            }

            if (bookToUpdate.Equals(newBook))
            {
                response.RawData = $"Book {newBook.Name} already existing with similar data.";
                return(response);
            }

            await bookRepository.UpdateBook(newBook);

            response.Id = newBook.Id;
            return(response);
        }
コード例 #9
0
        public HttpResponseMessage Delete(USER_DETAILS request)
        {
            List <ErrorStateResponse> errors = null;

            this.Request = new HttpRequestMessage();
            this.Request.SetConfiguration(new HttpConfiguration());
            try
            {
                if (request != null)
                {
                    if (request.Task_ID <= 0)
                    {
                        throw new Exception("Invalid Request");
                    }

                    bool transactionStatus = UserApi.DeleteUser(request);
                    return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, transactionStatus, errors));
                }
                ///Model Validation Failed
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage("Invalid Request"));
                return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, null, errors));
            }
            catch (Exception ex)
            {
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage(ex.Message));
            }
            return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.BadRequest, null, errors));
        }
コード例 #10
0
 public override BaseResponseMessage ValidateInput()
 {
     #region Validation HeaderRequest
     BaseResponseMessage resp = new BaseResponseMessage();
     resp.header = new ResponseHeader();
     if (this.request.Header.ApiKey != CommonDefinitions.APIKEY)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.API_KEY_NOT_MATCH;
     }
     else if (this.request.Header.Device == 0)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.DEVICE_INFORMATION_NOT_FOUND;
     }
     else if (String.IsNullOrEmpty(this.request.Header.RequestId))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.REQUEST_ID_NOT_FOUND;
     }
     else
     {
         resp.header.IsSuccess       = true;
         resp.header.ResponseCode    = CommonDefinitions.SUCCESS;
         resp.header.ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE;
     }
     #endregion
     return(resp);
 }
コード例 #11
0
        public HttpResponseMessage Post(USER_DETAILS request)
        {
            List <ErrorStateResponse> errors = null;

            this.Request = new HttpRequestMessage();
            this.Request.SetConfiguration(new HttpConfiguration());
            try
            {
                if (request != null)
                {
                    if (request.User_ID != null && request.User_ID > 0)
                    {
                        bool transactionStatus = UserApi.UpdateUsers(request);
                        return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, transactionStatus, errors));
                    }
                    else
                    {
                        bool transactionStatus = UserApi.AddUsers(request);
                        return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, transactionStatus, errors));
                    }
                }
                ///Model Validation Failed
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage("Invalid Request"));
                return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, null, errors));
            }
            catch (Exception ex)
            {
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage(ex.Message));
            }
            return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.BadRequest, null, errors));
        }
コード例 #12
0
        public async Task <BaseResponseMessage> UpdatePublisher(PublisherModel publisher)
        {
            var newPublisher = _mapper.Map <Publisher>(publisher);

            var response = new BaseResponseMessage();

            var publisherToUpdate = await _publisherRepository.GetPublisher(newPublisher.Id);

            if (publisherToUpdate == null)
            {
                response.RawData = $"Publisher with {newPublisher.Id} wasn't found.";
                return(response);
            }

            if (newPublisher.Equals(publisherToUpdate))
            {
                response.RawData = $"Publisher {newPublisher.Name} already existing with similar data.";
                return(response);
            }

            await _publisherRepository.UpdatePublisher(newPublisher);

            response.Id = newPublisher.Id;
            return(response);
        }
コード例 #13
0
 public override BaseResponseMessage ValidateInput()
 {
     #region Validation HeaderRequest
     BaseResponseMessage resp = new BaseResponseMessage();
     resp.header = new ResponseHeader();
     if (this.request.Header.ApiKey != CommonDefinitions.APIKEY)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.API_KEY_NOT_MATCH;
     }
     else if (this.request.Header.Device == 0)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.DEVICE_INFORMATION_NOT_FOUND;
     }
     else if (String.IsNullOrEmpty(this.request.Header.RequestId))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.REQUEST_ID_NOT_FOUND;
     }
     else if (!ValidateIdentificationNumber.CheckIdentificationNumber(this.request.IDENTIFICATION_ID.ToString()))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.IDENTIFICATION_ID_NOT_VALID;
     }
     else if (this.request.PASSWORD_HASH.Length < 1)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.PASSWORD_NOT_VALID;
     }
     else if (this.request.Header.OperationTypes != (int)OperationType.OperationTypes.ADD)
     {
         if (!Tokenizer.checkToken(this.request.Header.TokenId, this.request.CUSTOMER_NUMBER))
         {
             resp.header.IsSuccess       = false;
             resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
             resp.header.ResponseMessage = CommonDefinitions.TOKEN_NOT_VALID;
         }
         else
         {
             resp.header.IsSuccess       = true;
             resp.header.ResponseCode    = CommonDefinitions.SUCCESS;
             resp.header.ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE;
         }
     }
     else
     {
         resp.header.IsSuccess       = true;
         resp.header.ResponseCode    = CommonDefinitions.SUCCESS;
         resp.header.ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE;
     }
     #endregion
     return(resp);
 }
コード例 #14
0
 public override BaseResponseMessage ValidateInput()
 {
     #region Validation HeaderRequest
     BaseResponseMessage resp = new BaseResponseMessage();
     resp.header = new ResponseHeader();
     if (this.request.Header.ApiKey != CommonDefinitions.APIKEY)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.API_KEY_NOT_MATCH;
     }
     else if (this.request.Header.Device == 0)
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.DEVICE_INFORMATION_NOT_FOUND;
     }
     else if (String.IsNullOrEmpty(this.request.Header.RequestId))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.REQUEST_ID_NOT_FOUND;
     }
     else if (!ValidateIdentificationNumber.CheckIdentificationNumber(this.request.IDENTIFICATION_ID.ToString()))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.IDENTIFICATION_ID_NOT_VALID;
     }
     else if (String.IsNullOrEmpty(this.request.PHONE_NUMBER))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.PHONE_NUMBER_NOT_FOUND;
     }
     else if (String.IsNullOrEmpty(this.request.CAPTAIN_NAME))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.INVALID_NAME;
     }
     else if (String.IsNullOrEmpty(this.request.CAPTAIN_SURNAME))
     {
         resp.header.IsSuccess       = false;
         resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
         resp.header.ResponseMessage = CommonDefinitions.INVALID_NAME;
     }
     else
     {
         resp.header.IsSuccess       = true;
         resp.header.ResponseCode    = CommonDefinitions.SUCCESS;
         resp.header.ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE;
     }
     #endregion
     return(resp);
 }
コード例 #15
0
        public override async void DoOperation()
        {
            //Validate Reques Header / Constants
            this.baseResponseMessage = ValidateInput();
            if (!this.baseResponseMessage.header.IsSuccess)
            {
                throw new Exception(this.baseResponseMessage.header.ResponseMessage);
            }

            this.response = await ConfirmReservations(this.request);
        }
コード例 #16
0
ファイル: MessageFactory.cs プロジェクト: angrykun/WeChat
        /// <summary>
        /// 创建响应类型消息
        /// </summary>
        /// <param name="requestMessage">请求消息</param>
        /// <param name="param">请求参数</param>
        /// <param name="msgType">响应消息类型</param>
        /// <returns></returns>
        //public static string CreateResponseModel(BaseResponseMessage responseMessage, MsgTypeResponseEnum msgType)
        //{
        //    try
        //    {
        //        WxBaseResponse response = null;
        //        #region 响应类型
        //        switch (msgType)
        //        {
        //            //文本消息
        //            case MsgTypeResponseEnum.TEXT:
        //                response = new WxTextResponse();
        //                break;
        //            //图片消息
        //            case MsgTypeResponseEnum.IMAGE:
        //                response = new WxImageResponse();
        //                break;
        //            //视频消息
        //            case MsgTypeResponseEnum.VIDEO:
        //                response = new WxVideoResponse();
        //                break;
        //            //音乐消息
        //            case MsgTypeResponseEnum.MUSIC:
        //                response = new WxMusicResponse();
        //                break;
        //            //图文消息
        //            case MsgTypeResponseEnum.NEWS:
        //                response = new WxNewsResponse();
        //                break;
        //            //语音消息
        //            case MsgTypeResponseEnum.VOICE:
        //                response = new WxVoiceResponse();
        //                break;
        //            //默认回复文本消息
        //            default:
        //                response = new WxTextResponse();
        //                break;
        //        }

        //        #endregion
        //        return response;
        //    }
        //    catch (Exception ex)
        //    {
        //        LogHelper.WriteLog("【微信】响应消息出错", ex);
        //        return string.Empty;
        //    }
        //}
        #endregion

        #region 创建响应类型消息
        /// <summary>
        /// 创建响应类型消息
        /// </summary>
        /// <param name="requestMessage">请求消息</param>
        /// <param name="param">请求参数</param>
        /// <param name="msgType">响应消息类型</param>
        /// <returns></returns>
        public static string CreateResponseType(BaseResponseMessage responseMessage, EnterParamEntity param, MsgTypeResponseEnum msgType)
        {
            try
            {
                WxBaseResponse response = null;
                #region 响应类型
                switch (msgType)
                {
                //文本消息
                case MsgTypeResponseEnum.TEXT:
                    response = new WxTextResponse();
                    break;

                //图片消息
                case MsgTypeResponseEnum.IMAGE:
                    response = new WxImageResponse();
                    break;

                //视频消息
                case MsgTypeResponseEnum.VIDEO:
                    response = new WxVideoResponse();
                    break;

                //音乐消息
                case MsgTypeResponseEnum.MUSIC:
                    response = new WxMusicResponse();
                    break;

                //图文消息
                case MsgTypeResponseEnum.NEWS:
                    response = new WxNewsResponse();
                    break;

                //语音消息
                case MsgTypeResponseEnum.VOICE:
                    response = new WxVoiceResponse();
                    break;

                //默认回复文本消息
                default:
                    response = new WxTextResponse();
                    break;
                }

                #endregion
                return(response.Response(responseMessage, param));
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog("【微信】响应消息出错", ex);
                return(string.Empty);
            }
        }
コード例 #17
0
        public override BaseResponseMessage ValidateInput()
        {
            #region Validation HeaderRequest
            BaseResponseMessage resp = new BaseResponseMessage();
            resp.header = new ResponseHeader();
            if (this.request.Header.ApiKey != CommonDefinitions.APIKEY)
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.API_KEY_NOT_MATCH;
            }
            else if (this.request.Header.Device == 0)
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.DEVICE_INFORMATION_NOT_FOUND;
            }
            else if (String.IsNullOrEmpty(this.request.Header.RequestId))
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.REQUEST_ID_NOT_FOUND;
            }
            else if (this.request.RESERVATION_ID == 0)
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.RESERVATION_ID_NOT_FOUND;
            }
            else if (String.IsNullOrEmpty(this.request.Header.TokenId))
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.TOKEN_NOT_VALID;
            }

            reservation = Reservation.SelectByReservationId(this.request.RESERVATION_ID);

            if (!Tokenizer.checkToken(this.request.Header.TokenId, reservation.CUSTOMER_NUMBER))
            {
                resp.header.IsSuccess       = false;
                resp.header.ResponseCode    = CommonDefinitions.INTERNAL_SYSTEM_VALIDATION_ERROR;
                resp.header.ResponseMessage = CommonDefinitions.TOKEN_NOT_VALID;
            }
            else
            {
                resp.header.IsSuccess       = true;
                resp.header.ResponseCode    = CommonDefinitions.SUCCESS;
                resp.header.ResponseMessage = CommonDefinitions.SUCCESS_MESSAGE;
            }
            #endregion
            return(resp);
        }
コード例 #18
0
 public static WeChatResponseMessage GetMessage(BaseResponseMessage message)
 {
     if (message is TextResponse)
     {
         return(new WeChatResponseTextMessage()
         {
             FromUser = message.From,
             ToUser = message.To,
             Content = (message as TextResponse).Content
         });
     }
     return(null);
 }
コード例 #19
0
        public bool LoginOperation(RequestPersonalInformation request, out BaseResponseMessage response)
        {
            LoginOperation op = new LoginOperation(request);

            op.Execute();
            response = op.baseResponseMessage;

            if (!response.header.IsSuccess)
            {
                return(false);
            }

            return(true);
        }
コード例 #20
0
        public static HttpResponseMessage CreateRespose(this BaseResponseMessage result, HttpStatusCode success,
                                                        HttpStatusCode failure)
        {
            if (result.RawData != null)
            {
                return(new HttpResponseMessage {
                    StatusCode = failure, ReasonPhrase = result.RawData
                });
            }

            return(new HttpResponseMessage {
                StatusCode = success, ReasonPhrase = result.Id.ToString()
            });
        }
コード例 #21
0
        public async Task <BaseResponseMessage> CreatePublisher(PublisherModel publisher)
        {
            var newPublisher = _mapper.Map <Publisher>(publisher);

            var response = new BaseResponseMessage();

            if (await _publisherRepository.CheckPublisherForUniqueness(newPublisher))
            {
                response.RawData = $"Publisher {newPublisher.Name} already existing with similar data.";
                return(response);
            }

            var createdPublisherId = await _publisherRepository.CreatePublisher(newPublisher);

            response.Id = createdPublisherId;
            return(response);
        }
コード例 #22
0
        public async Task <BaseResponseMessage> CreateSeries(SeriesModel series)
        {
            var newSeries = _mapper.Map <Series>(series);

            var response = new BaseResponseMessage();

            if (!await _seriesRepository.CheckSeriesForUniqueness(newSeries))
            {
                response.RawData = $"Series {newSeries.Name} already existing with similar data.";
                return(response);
            }

            var createdSeriesId = await _seriesRepository.CreateSerires(newSeries);

            response.Id = createdSeriesId;
            return(response);
        }
コード例 #23
0
ファイル: WxMusicResponse.cs プロジェクト: angrykun/WeChat
        /// <summary>
        /// 微信响应方法
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public override string Response(BaseResponseMessage response, EnterParamEntity param)
        {
            var           _Response = response as MusicResponseMessage;
            StringBuilder result    = new StringBuilder();

            result.AppendFormat("<xml>");
            result.AppendFormat("<ToUserName><![CDATA[{0}]]></ToUserName>", _Response.ToUserName);
            result.AppendFormat("<FromUserName><![CDATA[{0}]]></FromUserName>", _Response.FromUserName);
            result.AppendFormat("<CreateTime>{0}></CreateTime>", _Response.CreateTime);
            result.AppendFormat("<MsgType><![CDATA[{0}]]></MsgType>", _Response.MsgType);
            result.AppendFormat("<Music>");
            if (!string.IsNullOrWhiteSpace(_Response.Title))
            {
                result.AppendFormat("<Title><![CDATA[{0}]]></Title>", _Response.Title);
            }
            if (!string.IsNullOrWhiteSpace(_Response.Description))
            {
                result.AppendFormat("<Description><![CDATA[{0}]]></Description>", _Response.Description);
            }
            if (!string.IsNullOrWhiteSpace(_Response.MusicURL))
            {
                result.AppendFormat("<MusicUrl><![CDATA[{0}]]></MusicUrl>", _Response.MusicURL);
            }
            if (!string.IsNullOrWhiteSpace(_Response.HQMusicUrl))
            {
                result.AppendFormat("<HQMusicUrl><![CDATA[{0}]]></HQMusicUrl>", _Response.HQMusicUrl);
            }
            if (!string.IsNullOrWhiteSpace(_Response.Description))
            {
                result.AppendFormat("<ThumbMediaId><![CDATA[{0}]]></ThumbMediaId>", _Response.ThumbMediaId);
            }
            result.AppendFormat("</Music>");
            result.AppendFormat("</xml>");
            if (param.IsAes)
            {
                string data    = string.Empty;
                int    encrypt = new WXBizMsgCrypt(param.token, param.EncodingAESKey, param.appid).
                                 EncryptMsg(result.ToString(), _Response.CreateTime.ToString(), param.nonce, ref data);
                result = new StringBuilder(data);
                if (encrypt != 0)
                {
                    LogHelper.WriteLog("【微信响应文本消息】加密失败", LogMessageType.Error);
                }
            }
            return(result.ToString());
        }
コード例 #24
0
        public async Task <BaseResponseMessage> RemoveSeries(Guid id, bool removeBooks)
        {
            var response = new BaseResponseMessage();

            var seriesToRemove = await _seriesRepository.GetSeries(id);

            if (seriesToRemove == null)
            {
                response.RawData = $"Series with {id} wasn't found.";
                return(response);
            }

            if (removeBooks)
            {
                var editionsToRemove = await _editionRepository.GetEditionsByBookOrPublisher(id);

                if (editionsToRemove != null)
                {
                    editionsToRemove.ForEach(async e =>
                    {
                        var covers = await _coverRepository.GetCoversByEdition(e.Id);

                        if (covers != null)
                        {
                            covers.ForEach(c => TryCleanUp(c.LinkTo));

                            await _coverRepository.RemoveCovers(covers);
                        }
                    });

                    await _editionRepository.RemoveEditions(editionsToRemove);
                }

                if (seriesToRemove.BooksInSeries != null)
                {
                    //TODO: to check out
                    await _bookRepository.RemoveBooks(seriesToRemove.BooksInSeries.Select(x => x.Book));
                }
            }

            await _seriesRepository.RemoveSerires(seriesToRemove);

            response.Id = id;
            return(response);
        }
コード例 #25
0
        public HttpResponseMessage GetProjcetNames()
        {
            List <ErrorStateResponse> errors = null;

            this.Request = new HttpRequestMessage();
            this.Request.SetConfiguration(new HttpConfiguration());
            try
            {
                var tasks = projectApi.GetProjectName();
                return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, tasks, errors));
            }
            catch (Exception ex)
            {
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage(ex.Message));
            }
            return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.BadRequest, null, errors));
        }
コード例 #26
0
        public HttpResponseMessage Get()
        {
            List <ErrorStateResponse> errors = null;

            this.Request = new HttpRequestMessage();
            this.Request.SetConfiguration(new HttpConfiguration());
            try
            {
                var parentTask = UserApi.GetUsers();
                return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.OK, parentTask, errors));
            }
            catch (Exception ex)
            {
                errors = new List <ErrorStateResponse>();
                errors.Add(ErrorStateResponse.BuildErrorMessage(ex.Message));
            }
            return(BaseResponseMessage.BuildApiResponse(Request, HttpStatusCode.BadRequest, null, errors));
        }
コード例 #27
0
ファイル: WxResponse.cs プロジェクト: angrykun/WeChat
 /// <summary>
 /// 响应消息
 /// </summary>
 /// <param name="response">请求消息</param>
 /// <param name="param">请求参数</param>
 /// <returns></returns>
 public string Execute(BaseRequestMessage request, EnterParamEntity param)
 {
     string result = string.Empty;
     var requestType = (MsgTypeRequestEnum)Enum.Parse(typeof(MsgTypeRequestEnum), request.MsgType.ToUpperInvariant());
     BaseResponseMessage responseModel = null;
     switch (requestType)
     {
         //文本消息
         case MsgTypeRequestEnum.TEXT:
             responseDelegate = CreateResponseMessageFromText;
             result = responseDelegate(request, param);
             break;
         #region MyRegion
         //图片消息
         case MsgTypeRequestEnum.IMAGE:
             responseModel = new TextResponseMessage
                 {
                     FromUserName = request.ToUserName,
                     ToUserName = request.FromUserName,
                     MsgType = MsgTypeResponseEnum.TEXT.ToString().ToLower(),
                     Content = "您好,您发送了一张图片!"
                 };
             result = MessageFactory.CreateResponseType(responseModel, param, MsgTypeResponseEnum.TEXT);
             break;
         //视频消息
         case MsgTypeRequestEnum.VIDEO:
             return "";
         //链接消息
         case MsgTypeRequestEnum.LINK:
             return "";
         //地理消息
         case MsgTypeRequestEnum.LOCATION:
             return "";
         //短视频消息
         case MsgTypeRequestEnum.SHORTVIDEO:
             return "";
         //音频消息
         case MsgTypeRequestEnum.VOICE:
             return "";
         default: return "";
         #endregion
     }
     return result;
 }
コード例 #28
0
ファイル: BookService.cs プロジェクト: kn1m/briefCore
        public async Task <BaseResponseMessage> CreateBook(BookModel book, bool force = false)
        {
            var bookRepository = _unitOfWork.GetBookRepository();

            var newBook = _mapper.Map <Book>(book);

            var response = new BaseResponseMessage();

            if (await bookRepository.CheckBookForUniqueness(newBook) && !force)
            {
                response.RawData = $"Book {newBook.Name} already existing with similar data.";
                return(response);
            }

            var createdBookId = await bookRepository.CreateBook(newBook);

            response.Id = createdBookId;
            return(response);
        }
コード例 #29
0
        public static List <ResponseBoats> GetPopularBoats(RequestBoats request)
        {
            BaseResponseMessage baseResponseMessage = new BaseResponseMessage();

            //Validate Reques Header / Constants
            baseResponseMessage = Validate(request);
            if (!baseResponseMessage.header.IsSuccess)
            {
                throw new Exception(baseResponseMessage.header.ResponseMessage);
            }

            Boats boat = null;
            List <ResponseBoats>        _favorite     = new List <ResponseBoats>();
            List <ResponsePopularBoats> respFavorites = new List <ResponsePopularBoats>();

            _favorite = favoritesServices.SelectPopularBoats();

            return(_favorite);
        }
コード例 #30
0
ファイル: EditionService.cs プロジェクト: kn1m/briefCore
        public async Task <BaseResponseMessage> CreateEdition(EditionModel edition)
        {
            var editionRepository = _unitOfWork.GetEditionRepository();

            var newEdtition = _mapper.Map <Edition>(edition);

            var response = new BaseResponseMessage();

            if (await editionRepository.CheckEditionForUniqueness(newEdtition))
            {
                response.RawData = $"Edition {newEdtition.Description} already existing with similar data.";
                return(response);
            }

            var createdEditionId = await editionRepository.CreateEdition(newEdtition);

            response.Id = createdEditionId;
            return(response);
        }