public async Task Register() { try { List <int> userTypes = new List <int>(); userTypes.Add((int)eNatureBeauty.Model.Enums.UserTypes.User); UserAddressesUpsertRequest userAddressesUpserRequest = new UserAddressesUpsertRequest { AddressName = Address, City = City, Country = Country, }; var address = await _addressesService.Insert <Model.UserAddresses>(userAddressesUpserRequest); UsersInsertRequest request = new UsersInsertRequest { Email = Email, FirstName = FirstName, LastName = LastName, Password = Password, PasswordConfirmation = PasswordConf, Status = true, Telephone = Telephone, UserName = UserName, UserTypes = userTypes, UserAddressId = address.Id }; var user = await _service.Insert <Model.Users>(request); Global.LoggedUser = user; Application.Current.MainPage = new MainPage(user); await Application.Current.MainPage.DisplayAlert("Success", "Welcome new User!", "OK"); } catch { await Application.Current.MainPage.DisplayAlert("Error", "Error", "OK"); } }
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"); } }