public object generateNewListToSync(LTL_LotteryList pListObject, List <LND_ListNumberDetail> pListNumberDetail = null) { List <ListNumberDetail> numberDetail = null; if (pListNumberDetail != null) { // Trasnformar LND_ListNumberDetail en una lista de elementos para el json numberDetail = pListNumberDetail.Select( x => new ListNumberDetail(x.LND_Id, x.LTL_LotteryList, x.LNR_LotteryNumber, x.LND_SaleImport) ).ToList(); } LotteryDrawRepository lotteryDrawRepository = new LotteryDrawRepository(); LTD_LotteryDraw draw = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw); // Crear el objeto JSON var jsonObject = new { listNumber = pListObject.LTL_Id, lotteryPointSale = pListObject.LPS_LotteryPointSale, lotteryDraw = new { id = pListObject.LTD_LotteryDraw, lotteryDrawType = draw.LDT_LotteryDrawType, lotteryDrawStatus = draw.LDS_LotteryDrawStatus, createDate = draw.LTD_CreateDate }, customerName = pListObject.LTL_CustomerName, createDate = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), lotteryListStatus = SystemConstants.LIST_STATUS_CREATED, listNumberDetail = numberDetail } ; return(jsonObject); }
public async Task <bool> processReverseToServerAsync(LTL_LotteryList pListObject) { bool successReversion = false; Console.WriteLine(" - Anulada "); ServiceResponseResult response = await this.reverseListNumberFromServerAsync(pListObject); if (ServiceValidator.isValidServiceResponse(response)) { // Cambiar el estado de la lista local a Sincronizado this.setListCompleteSync(pListObject); successReversion = true; } else { // Error de sincronización string responseType = response == null ? "N/A" : response.type; LogService.logErrorServiceResponse("No se pudo sincronizar la reversión", responseType, "Pendiente"); } if (response != null && response.message == "No se pudo actualizar. El elemento especificado no existe") { successReversion = true; } return(successReversion); }
//----------------- Servicios de Sincronización de Pago y Reversión -----------------// #region Servicios de Sincronización de Pago y Reversión public void sendListNumberToServer(LTL_LotteryList pList, List <LND_ListNumberDetail> pNumberDetail) { // Llamar al servicio de sincronización con el servidor ServerConnectionService service = new ServerConnectionService(); ServiceResponseResult responseResult = service.syncListToServer(pList, pNumberDetail, result => processResponseToSendList(result)); //this.processResponseToSendList(responseResult); }
public async Task <ServiceResponseResult> reverseListNumberFromServerAsync(LTL_LotteryList pList) { // Llamar al servicio de sincronización con el servidor ServerConnectionService serverConection = new ServerConnectionService(); ServiceResponseResult response = await serverConection.reverseListToServerAsync(pList); return(response); }
public async Task <ServiceResponseResult> syncListToServerAsync(LTL_LotteryList pListObject, List <LND_ListNumberDetail> pListNumberDetail) { var jsonObject = this.generateNewListToSync(pListObject, pListNumberDetail); //Console.WriteLine("Request Venta: " + jsonObject); string urlEndPoint = ServiceConectionConstants.LIST_RESOURCE_URL; RestClientService restClient = new RestClientService(); return(await restClient.processHttpRequestAsync(urlEndPoint, jsonObject, SystemConstants.HTTP_POST_METHOD)); }
public async Task <ServiceResponseResult> sendListNumberToServerAsync(LTL_LotteryList pList, List <LND_ListNumberDetail> pNumberDetail) { // Llamar al servicio de sincronización con el servidor ServerConnectionService service = new ServerConnectionService(); ServiceResponseResult responseResult = await service.syncListToServerAsync(pList, pNumberDetail); this.processResponseToSendList(responseResult); return(responseResult); }
public void changeListSyncStatus(long pList, long pSyncStatus = SystemConstants.SYNC_STATUS_COMPLETED) { // Cambiar el estado de la lista local a Sincronizado LotteryListRepository listRepository = new LotteryListRepository(); LTL_LotteryList syncList = listRepository.getById(pList); syncList.SYS_SynchronyStatus = pSyncStatus; listRepository.save(syncList, syncList.LTL_Id, (e1, e2) => e1.copy(e2)); //Console.WriteLine("Estado cambiado a sincronizado: " + pList); }
public ServiceResponseResult reverseListToServer(LTL_LotteryList pListObject) { var jsonObject = this.generateSimpleListObject(pListObject, SystemConstants.LIST_STATUS_CANCELED, SystemConstants.SYNC_STATUS_COMPLETED); Console.WriteLine("Request Reversión: " + jsonObject); string urlEndPoint = ServiceConectionConstants.ROOT_LIST_RESOURCE_URL + "/" + pListObject.LTL_Id + "/"; RestClientService restClient = new RestClientService(); return(restClient.processHttpRequest(urlEndPoint, jsonObject, SystemConstants.HTTP_PUT_METHOD)); }
public ServiceResponseResult syncListToServer(LTL_LotteryList pListObject, List <LND_ListNumberDetail> pListNumberDetail, Func <ServiceResponseResult, bool> processResponseFunction) { var jsonObject = this.generateNewListToSync(pListObject, pListNumberDetail); //Console.WriteLine("Request Venta: " + jsonObject); string urlEndPoint = ServiceConectionConstants.LIST_RESOURCE_URL; RestClientService restClient = new RestClientService(); //return restClient.processHttpRequest(urlEndPoint, jsonObject, SystemConstants.HTTP_POS_METHOD); return(restClient.processAsyncHttpRequest(urlEndPoint, jsonObject, SystemConstants.HTTP_POST_METHOD, processResponseFunction)); }
// Método para imprimir un ticket de venta de una lista public void printList(LTL_LotteryList pNumberList, int pTicketType = 0) { // Configurar impresión para Ticket de Venta SaleTicket saleTicket = new SaleTicket(pTicketType); saleTicket.companyName = UtilityService.getCompanyName(); // Obtener datos del punto de venta LPS_LotteryPointSale pointSale = UtilityService.getPointSale(); saleTicket.pointSaleName = pointSale.LPS_DisplayName; // Obtener usuario vendedor saleTicket.userName = SystemSession.username; // Obtener datos del sorteo LotteryDrawRepository drawRepo = new LotteryDrawRepository(); LTD_LotteryDraw drawObject = drawRepo.getById(pNumberList.LTD_LotteryDraw); saleTicket.drawDate = drawObject.LTD_CreateDate; // Obtener datos de tipo de sorteo this.drawTypeRepo = new LotteryDrawTypeRepository(); LDT_LotteryDrawType drawType = drawTypeRepo.getById(drawObject.LDT_LotteryDrawType); saleTicket.drawTypeCode = drawType.LDT_Code; // Obtener datos de los premios PrizeFactorService prizeFactorService = new PrizeFactorService(); LPF_LotteryPrizeFactor prizeFactor = prizeFactorService.getByGroup(drawType.LDT_Id); if (prizeFactor != null) { saleTicket.prizeFactorArray[0] = prizeFactor.LPF_FirtsPrizeFactor; saleTicket.prizeFactorArray[1] = prizeFactor.LPF_SecondPrizeFactor; saleTicket.prizeFactorArray[2] = prizeFactor.LPF_ThirdPrizeFactor; } // Llenar datos del número de lista saleTicket.createDate = DateTime.Now; saleTicket.ticketId = pNumberList.LTL_Id; saleTicket.globalId = pointSale.LPS_Id + "" + saleTicket.ticketId; saleTicket.customerName = pNumberList.LTL_CustomerName; // Obtener detalle de la lista procesada this.listRepo = new LotteryListRepository(); saleTicket.listNumberDetail = listRepo.getTupleListDetail(pNumberList.LTL_Id); // Crear instancia de impresora y asignar el ticket TicketPrinter ticketPrinter = new TicketPrinter(); ticketPrinter.saleTicket = saleTicket; // Obtener nombre de impresora y enviar impresión string printerName = UtilityService.getTicketPrinterName(); ticketPrinter.printLotterySaleTicket(printerName); }
public void reverseListNumberFromServer(LTL_LotteryList pList) { // Llamar al servicio de sincronización con el servidor ServerConnectionService serverConection = new ServerConnectionService(); ServiceResponseResult response = serverConection.reverseListToServer(pList); if (ServiceValidator.isValidServiceResponse(response)) { // Cambiar el estado de la lista local a Sincronizado this.setListCompleteSync(pList); } else { // Error de sincronización string responseType = response == null ? "N/A" : response.type; LogService.logErrorServiceResponse("No se pudo sincronizar la venta", responseType, "Pendiente"); } }
private async Task <bool> processListToServerAsync(LTL_LotteryList pListObject, List <LND_ListNumberDetail> pListNumber) { bool successReversion = false; Console.WriteLine(" - Creada "); ServiceResponseResult response = await this.sendListNumberToServerAsync(pListObject, pListNumber); if (ServiceValidator.isValidServiceResponse(response)) { // Cambiar el estado de la lista local a Sincronizado this.setListCompleteSync(pListObject); successReversion = true; } else { // Error de sincronización string responseType = response == null ? "N/A" : response.type; LogService.logErrorServiceResponse("No se pudo sincronizar la venta", responseType, "Pendiente"); } return(successReversion); }
public object generateSimpleListObject(LTL_LotteryList pListObject, long pListStatus = SystemConstants.LIST_STATUS_CREATED, long pSyncStatus = SystemConstants.SYNC_STATUS_COMPLETED ) { LotteryDrawRepository lotteryDrawRepository = new LotteryDrawRepository(); LTD_LotteryDraw draw = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw); LotteryPointSaleRepository saleRepo = new LotteryPointSaleRepository(); LPS_LotteryPointSale pointSale = saleRepo.getById(pListObject.LPS_LotteryPointSale); // Crear el objeto JSON var jsonObject = new { listNumber = pListObject.LTL_Id, lotteryPointSale = pointSale.LPS_Id, lotteryDraw = pListObject.LTD_LotteryDraw, lotteryListStatus = pListStatus, synchronyStatus = pSyncStatus, customerName = pListObject.LTL_CustomerName, createDate = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), }; return(jsonObject); }
public void updateList(LTL_LotteryList pList) { this.listRepository.updateList(pList); }
public object generateListObject(LTL_LotteryList pListObject) { LotteryDrawRepository lotteryDrawRepository = new LotteryDrawRepository(); LTD_LotteryDraw draw = lotteryDrawRepository.getById(pListObject.LTD_LotteryDraw); LotteryPointSaleRepository saleRepo = new LotteryPointSaleRepository(); LPS_LotteryPointSale pointSale = saleRepo.getById(pListObject.LPS_LotteryPointSale); // Crear el objeto JSON var jsonObject = new { listNumber = pListObject.LTL_Id, lotteryPointSale = new { id = pointSale.LPS_Id, code = pointSale.LPS_Code, synchronyStatus = new { code = "SC", displayName = "Sincronizado", description = "Sincronización completa", id = 3 }, displayName = pointSale.LPS_DisplayName, description = pointSale.LPS_Description, company = new { code = "TR", displayName = "TIEMPOS RIVERA", description = "Tiempos Rivera", id = 1, createDate = pointSale.LPS_CreateDate.ToString("yyyy-MM-dd HH:mm:ss") }, createDate = pointSale.LPS_CreateDate.ToString("yyyy-MM-dd HH:mm:ss") }, lotteryDraw = new { id = pListObject.LTD_LotteryDraw, lotteryDrawType = draw.LDT_LotteryDrawType, lotteryDrawStatus = draw.LDS_LotteryDrawStatus, createDate = draw.LTD_CreateDate }, lotteryListStatus = new { id = 2, code = "R", displayName = "Borrada", description = "Borrada" }, synchronyStatus = new { id = 3, code = "SC", displayName = "Sincronización completa", description = "Sincronización completa" }, customerName = pListObject.LTL_CustomerName, createDate = pListObject.LTL_CreateDate.ToString("yyyy-MM-dd HH:mm:ss"), } ; return(jsonObject); }
public void setListCompleteSync(LTL_LotteryList pList) { this.changeListSyncStatus(pList); }