public async Task CancelOrder(int outputId) { try { var outputF = await _outputsService.GetById <Model.Outputs>(outputId); var order = await _ordersService.GetById <Model.Orders>(outputF.OrderId); OrdersUpsertRequest request = new OrdersUpsertRequest { Cancel = !order.Cancel, Date = order.Date, OrderNumber = order.OrderNumber, Status = order.Status, UserId = order.UserId, Id = order.Id }; await _ordersService.Update <Model.Orders>(order.Id, request); await Application.Current.MainPage.DisplayAlert("Success", "Order is canceled!", "OK"); } catch { await Application.Current.MainPage.DisplayAlert("Error", "Cannot cancel now!", "OK"); } }
private async void btnFinished_Click(object sender, EventArgs e) { try { OrdersUpsertRequest request = new OrdersUpsertRequest { Date = _orders.Date, OrderNumber = _orders.OrderNumber, Cancel = _orders.Cancel, Status = OrderStatusTypes.Finished.ToString(), UserId = _orders.UserId, Id = _orders.Id }; await _ordersService.Update <Model.Orders>(_orders.Id, request); txtStatus.Text = OrderStatusTypes.Finished.ToString(); MessageBox.Show("Edited in Finished Status", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); OutputsSearchRequest outputsSearch = new OutputsSearchRequest { OrderId = _orders.Id }; var output = await _outputsService.Get <List <Model.Outputs> >(outputsSearch); OutputsUpsertRequest outputsUpsert = new OutputsUpsertRequest { Date = output.FirstOrDefault().Date, Finished = true, ReceiveNumber = output.FirstOrDefault().ReceiveNumber, UserId = output.FirstOrDefault().UserId, ValueWithoutPdv = output.FirstOrDefault().ValueWithoutPdv, ValueWithPdv = output.FirstOrDefault().ValueWithPdv, Id = output.FirstOrDefault().Id, OrderId = _orders.Id }; await _outputsService.Update <Model.Outputs>(output.FirstOrDefault().Id, outputsUpsert); this.Close(); } catch { MessageBox.Show("Proccessing for now...", "Waiting...", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } }
private async void btnWaiting_Click(object sender, EventArgs e) { try { OrdersUpsertRequest request = new OrdersUpsertRequest { Date = _orders.Date, OrderNumber = _orders.OrderNumber, Cancel = _orders.Cancel, Status = OrderStatusTypes.Waiting.ToString(), UserId = _orders.UserId, Id = _orders.Id }; await _ordersService.Update <Model.Orders>(_orders.Id, request); MessageBox.Show("Edited in Waiting Status", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); txtStatus.Text = OrderStatusTypes.Waiting.ToString(); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private async void btnSave_Click(object sender, EventArgs e) { if (_productsAdd.Count == 0) { MessageBox.Show("No added products!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Model.Orders _order = new Model.Orders(); OrdersUpsertRequest orderRequest = new OrdersUpsertRequest { Date = DateTime.Now, OrderNumber = Helper.GenerateString(generatedSize), Status = OrderStatusTypes.Created.ToString(), Cancel = false, UserId = _loggedUser.Id }; try { _order = await _ordersService.Insert <Model.Orders>(orderRequest); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } if (_order != null) { OutputsUpsertRequest outputsRequest = new OutputsUpsertRequest { Date = DateTime.Now, OrderId = _order.Id, Finished = false, UserId = _loggedUser.Id, ValueWithoutPdv = 0, ValueWithPdv = 0, ReceiveNumber = _order.OrderNumber }; try { _outputs = await _outputsService.Insert <Model.Outputs>(outputsRequest); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } await Helper.CalculateInputProductsPrice(_productsAdd); List <OutputProductsUpsertRequest> list = new List <OutputProductsUpsertRequest>(); foreach (var item in _productsAdd) { OutputProductsUpsertRequest tmp = new OutputProductsUpsertRequest { OutputId = _outputs.Id, ProductId = item.ProductId, Price = item.Price, Quantity = item.Quantity, Discount = item.Quantity / 2 }; if (tmp.Quantity > 100) { tmp.Discount = 50; } if (tmp.Quantity < 20) { tmp.Discount = 0; } try { await _outputProductsService.Insert <Model.OutputProducts>(tmp); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } await CalculateOutputValue(); MessageBox.Show("Success", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } } }
public async Task SaveOrder() { await AddressLenght(); await CityLenght(); await StateLenght(); var user = await _usersService.GetById <Model.Users>(User.Id); UserAddress = await _userAddresssesService.GetById <Model.UserAddresses>(user.UserAddressId); UserAddressesUpsertRequest userAddressesUpserRequest = new UserAddressesUpsertRequest { AddressName = AddressName, City = City, Country = Country, Id = UserAddress.Id }; await _userAddresssesService.Update <Model.UserAddresses>(UserAddress.Id, userAddressesUpserRequest); OrdersUpsertRequest ordersUpsertRequest = new OrdersUpsertRequest { Date = DateTime.Now, Cancel = false, OrderNumber = Helper.GenerateString(19), Status = OrderStatusTypes.Created.ToString(), UserId = User.Id }; try { var order = await _ordersService.Insert <Model.Orders>(ordersUpsertRequest); OutputsUpsertRequest outputsUpsertRequest = new OutputsUpsertRequest { Date = DateTime.Now, UserId = User.Id, Finished = false, OrderId = order.Id, ReceiveNumber = Helper.GenerateString(19), ValueWithoutPdv = TotalNoPDV, ValueWithPdv = Total }; var outputs = await _outputsService.Insert <Model.Outputs>(outputsUpsertRequest); foreach (var item in ProductsList) { OutputProductsUpsertRequest request = new OutputProductsUpsertRequest { ProductId = item.Product.Id, Price = item.Product.Price, OutputId = outputs.Id, Quantity = (int)item.Quantity, Discount = (item.Quantity / 2) }; if (request.Quantity > 100) { request.Discount = 50; } if (request.Quantity < 20) { request.Discount = 0; } await _outputProductsService.Insert <Model.OutputProducts>(request); } ProductsList.Clear(); CartService.Cart.Clear(); await Application.Current.MainPage.DisplayAlert("Success", "Order is sent!", "OK"); } catch { await Application.Current.MainPage.DisplayAlert("Error", "", "OK"); } }