public string Execute(CreateReceipt cmd) { var client = new RestClient(_endpoint); var request = new RestRequest(Method.POST); var token = _tokenHandler.Execute(new GetToken()); request.AddParameter("AuthToken", token, ParameterType.QueryString); var jsonContent = JsonConvert.SerializeObject(cmd); request.AddHeader("Accept", "application/json"); request.RequestFormat = DataFormat.Json; request.AddParameter("application/json", jsonContent, ParameterType.RequestBody); var response = client.Execute(request); if (response.StatusCode != HttpStatusCode.OK) { throw new Exception(response.StatusDescription); } var fermaResponse = JsonConvert.DeserializeObject <CreateReceiptResponse>(response.Content); if (!String.Equals(fermaResponse.Status, "Success", StringComparison.OrdinalIgnoreCase)) { Log.ErrorFormat("... {error}", fermaResponse.Error); throw new Exception(fermaResponse.Status); } return(fermaResponse.Data.ReceiptId); }
public void Save(CreateReceipt cmd, Guid guid) { using (var connection = _connectionFactory.Create()) { var receiptDto = _mapper.ReceiptDtoFromJson(cmd); receiptDto.UID = guid; var id = connection.Insert(receiptDto); var listItemsDto = _mapper.ListItemsDtoFromJson(cmd.Request.CustomerReceipt.Items, id); connection.Insert(listItemsDto); } }
public ReceiptDto ReceiptDtoFromJson(CreateReceipt cmd) { var dto = new ReceiptDto() { InvoiceId = cmd.Request.InvoiceId, Type = cmd.Request.Type, Email = cmd.Request.CustomerReceipt.Email, Phone = cmd.Request.CustomerReceipt.Phone, Inn = cmd.Request.Inn, TaxSystem = cmd.Request.CustomerReceipt.TaxationSystem }; return(dto); }