public async Task <ServiceResponseObject <AuthResponse> > Login(LoginViewModel model) { if (ModelState.IsValid) { AuthMethods AuthData = new AuthMethods(_userManager, _signInManager, _roleManager, _boxContext); var Result = await AuthData.Login(model); return(Result); } ServiceResponseObject <AuthResponse> response = new ServiceResponseObject <AuthResponse>(); response.Status = ResponseResult.Error; List <string> errors = ModelState.Values.Aggregate( new List <string>(), (a, c) => { a.AddRange(c.Errors.Select(r => r.ErrorMessage)); return(a); }, a => a ); response.Message = errors[0]; return(response); }
private async void Attach(AlertDialog.Builder alert) { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { BoxService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await BoxService.Attach(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { alert.Dispose(); Android.App.AlertDialog.Builder alert1 = new Android.App.AlertDialog.Builder(Activity); alert1.SetTitle("Прикрепить контейнер"); alert1.SetMessage(o_data.ResponseData.Message); alert1.SetPositiveButton("Закрыть", (senderAlert1, args1) => { }); Dialog dialog1 = alert1.Create(); dialog1.Show(); FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction(); MainBoxStatusActivity content2 = new MainBoxStatusActivity(); transaction1.Replace(Resource.Id.frameDriverlayout, content2).AddToBackStack(null).Commit(); } else { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); } } }
/// <summary> /// Передача доступа к контейнеру /// </summary> /// <param name="orderId"></param> /// <returns></returns> public async Task <ServiceResponseObject <BaseResponseObject> > SendAccess(Guid orderId) { ServiceResponseObject <BaseResponseObject> response = new ServiceResponseObject <BaseResponseObject>(); try { var order = await _boxContext.UserHasOrders.Where(p => p.OrderId == orderId).FirstOrDefaultAsync(); var box = await _boxContext.OrderHasBoxes.Where(p => p.OrderId == orderId).FirstOrDefaultAsync(); var task = await _boxContext.Tasks.Where(p => p.OrderId == orderId).FirstOrDefaultAsync(); task.IsCompleted = true; task.DoneAt = DateTime.Now; _boxContext.Update(task); _boxContext.SaveChanges(); UserHasAccess access = new UserHasAccess { BoxId = box.BoxId, UserId = order.UserId }; _boxContext.UserHasAccesses.Add(access); _boxContext.SaveChanges(); response.Message = "Доступ отправлен. Ожидается оплата."; response.Status = ResponseResult.OK; return(response); } catch (Exception ex) { response.Status = ResponseResult.Error; response.Message = "Что-то пошло не так... " + ex.Message; return(response); } }
/// <summary> /// Получение списка задач водителя /// </summary> /// <param name="driverId"></param> /// <returns></returns> public async Task <ServiceResponseObject <TaskResponse> > GetTask(Guid driverId) { ServiceResponseObject <TaskResponse> Data = new ServiceResponseObject <TaskResponse>(); var driver = await _boxContext.Drivers.FindAsync(driverId); _boxContext.Entry(driver) .Collection(c => c.Tasks) .Load(); var tasks = driver.Tasks; if (tasks.Count == 0 || tasks == null) { Data.Status = ResponseResult.Error; Data.Message = "Задач нет."; return(Data); } Data.ResponseData = await _boxContext.Tasks.Where(t => t.IsCompleted == false).Select(s => new TaskResponse { OrderId = s.OrderId, TaskType = s.TaskType }).FirstOrDefaultAsync(); Data.Message = "Новая задача!"; Data.Status = ResponseResult.OK; return(Data); }
/// <summary> /// Передача загруженного контейнера в службу доставки /// </summary> /// <param name="orderId"></param> /// <returns></returns> public async Task <ServiceResponseObject <BaseResponseObject> > CreateDeliveryRequest(Guid orderId) { ServiceResponseObject <BaseResponseObject> response = new ServiceResponseObject <BaseResponseObject>(); try { var order = await _boxContext.Orders.FindAsync(orderId); var hasBox = await _boxContext.OrderHasBoxes.Where(p => p.OrderId == orderId).FirstOrDefaultAsync(); var driverId = await _boxContext.DriverHasBoxes.Where(p => p.BoxId == hasBox.BoxId).Select(s => s.DriverId).FirstOrDefaultAsync(); Models.Task task = new Models.Task { CreatedAt = DateTime.Now, DriverId = driverId, OrderId = order.Id, TaskType = "2. Полный контейнер готов к отгрузке." }; _boxContext.Tasks.Add(task); _boxContext.SaveChanges(); response.Message = "Контейнер передан в службу доставки."; response.Status = ResponseResult.OK; return(response); } catch (Exception ex) { response.Message = "Что-то пошло не так..." + ex.Message; response.Status = ResponseResult.Error; throw; } }
/// <summary> /// Логгирование объекта по GPS /// </summary> /// <param name="model.Id"></param> /// <param name="model.Lon1"></param> /// <param name="model.Lat1"></param> /// <param name="model.Signal"></param> /// <param name="model.Date"></param> /// <returns></returns> public async Task <ServiceResponseObject <BaseResponseObject> > SetContainerLocation(LocationViewModel model) { SmartBox box = await _boxContext.SmartBoxes.FirstOrDefaultAsync(s => s.Id == model.Id); ServiceResponseObject <BaseResponseObject> DataContent = new ServiceResponseObject <BaseResponseObject>(); if (box != null) { Location location = new Location { BoxId = box.Id, Latitude = model.Lat1, Longitude = model.Lon1, SignalLevel = model.Signal, CurrentDate = model.Date, Name = box.Name }; _boxContext.Locations.Add(location); await _boxContext.SaveChangesAsync(); DataContent.Message = "Успешно!"; DataContent.Status = ResponseResult.OK; return(DataContent); } DataContent.Message = "Контейнер не найден!"; DataContent.Status = ResponseResult.Error; return(DataContent); }
public async Task <ServiceResponseObject <BaseResponseObject> > SetContainerLocation(LocationViewModel model) { if (ModelState.IsValid) { ContainerMethods BoxData = new ContainerMethods(_boxContext); var Result = await BoxData.SetContainerLocation(model); return(Result); } ServiceResponseObject <BaseResponseObject> response = new ServiceResponseObject <BaseResponseObject>(); response.Status = ResponseResult.Error; List <string> errors = ModelState.Values.Aggregate( new List <string>(), (a, c) => { a.AddRange(c.Errors.Select(r => r.ErrorMessage)); return(a); }, a => a ); response.Message = errors[0]; return(response); }
public ServiceResponseObject <ComputationResponse> PriceComputation(PriceComputationViewModel model) { ServiceResponseObject <ComputationResponse> response = new ServiceResponseObject <ComputationResponse>(); if (model.CargeType == "Выбор" || model.DangerClassType == "Выбор") { ModelState.AddModelError(string.Empty, "Укажите характер груза или класс опасности"); } if (ModelState.IsValid) { OrderMethods BoxData = new OrderMethods(_boxContext, _userManager); var price = BoxData.PriceComputation(model); response.Message = "Успешно!"; response.ResponseData = new ComputationResponse { Price = price }; response.Status = ResponseResult.OK; return(response); } response.Status = ResponseResult.Error; List <string> errors = ModelState.Values.Aggregate( new List <string>(), (a, c) => { a.AddRange(c.Errors.Select(r => r.ErrorMessage)); return(a); }, a => a ); response.ResponseData = new ComputationResponse(); response.Message = errors[0]; return(response); }
private async void GetPhoto(string id, AlertDialog.Builder alert) { try { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { ManageOrderService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await ManageOrderService.GetPhoto(id); if (o_data.Status == HttpStatusCode.OK) { StaticOrder.File_Name = o_data.Message; StaticOrder.MessageResult = "0"; StartUp.StartTracking(context, 2); } else { Toast.MakeText(context, o_data.Message, ToastLength.Long).Show(); } } } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }
private async void MakeLockRollete(AlertDialog.Builder alert) { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { BoxService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await BoxService.LockRollete(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { alert.Dispose(); Android.App.AlertDialog.Builder alert1 = new Android.App.AlertDialog.Builder(Activity); alert1.SetTitle("Опустить роллету"); alert1.SetMessage(o_data.Message); alert1.SetPositiveButton("Закрыть", (senderAlert1, args1) => { }); Dialog dialog1 = alert1.Create(); dialog1.Show(); btn_gate.Text = "Поднять"; BoxTextGate.Text = "Закрыта"; FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction(); BoxActivity content2 = new BoxActivity(); transaction1.Replace(Resource.Id.frameDriverlayout, content2); transaction1.Commit(); } else { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); } } }
private async void MakeFold(AlertDialog.Builder alert) { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { BoxService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await BoxService.FoldContainer(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { alert.Dispose(); Android.App.AlertDialog.Builder alert1 = new Android.App.AlertDialog.Builder(Activity); alert1.SetTitle("Сложить контейнер"); alert1.SetMessage(o_data.ResponseData.Message); alert1.SetPositiveButton("Закрыть", (senderAlert1, args1) => { }); Dialog dialog1 = alert1.Create(); dialog1.Show(); btn_fold.Text = "Разложить"; BoxTextFold.Text = "Сложен"; FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction(); BoxActivity content2 = new BoxActivity(); transaction1.Replace(Resource.Id.frameDriverlayout, content2); transaction1.Commit(); } } }
private async void GetPhoto() { try { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { ManageOrderService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await ManageOrderService.GetPhoto(StaticOrder.Order_id); if (o_data.Status == HttpStatusCode.OK) { ///дописать StaticOrder.File_Name = o_data.Message; StaticOrder.MessageResult = "0"; StartUp.StartTracking(Activity, 2); } else { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); } } } catch (System.Exception ex) { Toast.MakeText(Activity, ex.Message, ToastLength.Long).Show(); } }
/// <summary> /// Получение соглашения. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <AgreementResponse> > Privacy() { try { HttpResponseMessage response = await _httpClient.GetAsync($"agreement/privacy"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <AgreementResponse> o_data = new ServiceResponseObject <AgreementResponse>(); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } var message = JsonConvert.DeserializeObject <AgreementResponse>(s_result); o_data.ResponseData = message; o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; return(o_data); } catch (Exception ex) { ServiceResponseObject <AgreementResponse> o_data = new ServiceResponseObject <AgreementResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Передать контейнер другому водителю. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > Dettach(string CONTAINER_ID, bool isChecked) { try { HttpResponseMessage response = (isChecked)?await _httpClient.GetAsync($"container/{CONTAINER_ID}/detach?task=1"): await _httpClient.GetAsync($"container/{CONTAINER_ID}/detach"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { throw new Exception("Ошибка сервера 400"); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var box = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new SuccessResponse { Message = box.Message }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение событий для контейнера. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <EventsBoxResponse> > Events(string event_id) { try { HttpResponseMessage response = await _httpClient.GetAsync($"container/{event_id}/events"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <EventsBoxResponse> o_data = new ServiceResponseObject <EventsBoxResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { throw new Exception("Событий этого контейнера нет"); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var box = JsonConvert.DeserializeObject <EventsBoxResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; // а почему переменная container_id пустая o_data.ResponseData = new EventsBoxResponse { CONTAINER = box.CONTAINER, EVENTS = box.EVENTS }; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } }//can not access to close stream catch (Exception ex) { ServiceResponseObject <EventsBoxResponse> o_data = new ServiceResponseObject <EventsBoxResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получение предварительной стоимости заказа /// </summary> /// <param name="model"></param> /// <returns></returns> public static async Task <ServiceResponseObject <AmountResponse> > GetOrderPrice(MakeOrderModel model) { try { #region Пример HttpWebRequest //HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://smartboxcity.ru:8003/order/rate?inception_lat=" + model.inception_lat + "&inception_lng=" + model.inception_lng + "&destination_lat=" + model.destination_lat + "&destination_lng=" + model.destination_lng + "&weight=" + model.weight + "&qty=" + model.qty + "&cargo_type=" + model.cargo_type + "&cargo_class=" + model.cargo_class + "&insurance=" + model.insurance); //request.Method = "GET"; //var myHttpWebResponse = (HttpWebResponse)request.GetResponse(); //Stream responseStream = myHttpWebResponse.GetResponseStream(); //StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default); //string s_result = myStreamReader.ReadToEnd(); //myStreamReader.Close(); //responseStream.Close(); //myHttpWebResponse.Close(); #endregion HttpResponseMessage response = await _httpClient.GetAsync($"order/rate?inception_lat={model.inception_lat}" + $"&inception_lng={model.inception_lng}" + $"&destination_lat={model.destination_lat}&" + $"destination_lng={model.destination_lng}&" + $"weight={model.weight}&qty={model.qty}&" + $"cargo_type={model.cargo_type}&" + $"cargo_class={model.cargo_class}&" + $"insurance={model.insurance}"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <AmountResponse> o_data = new ServiceResponseObject <AmountResponse>(); if (response.StatusCode == System.Net.HttpStatusCode.BadRequest) { ErrorResponseObject error = new ErrorResponseObject(); error = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result); o_data.Status = response.StatusCode; o_data.Message = error.Errors[0]; return(o_data); } o_data.ResponseData = JsonConvert.DeserializeObject <AmountResponse>(s_result); o_data.Message = "Успешно!"; o_data.Status = response.StatusCode; return(o_data); } catch (Exception ex) { ServiceResponseObject <AmountResponse> o_data = new ServiceResponseObject <AmountResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Оплатить заказ. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > MakePayment(string order_id) { try { HttpResponseMessage response = await _httpClient.GetAsync($"order/{order_id}/payment"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { //ErrorResponseObject error = new ErrorResponseObject(); //error = JsonConvert.DeserializeObject<ErrorResponseObject>(s_result); //o_data.Status = response.StatusCode; //o_data.Message = error.Errors[0]; //return o_data; throw new Exception("Ошибка сервера 400"); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var message = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = message.Message; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
private async void GetAlarms() { try { var o_data = new ServiceResponseObject <ListAlarmResponse>(); using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { AlarmService.InitializeClient(client); o_data = await AlarmService.GetAlarms(); if (o_data.Status == HttpStatusCode.OK) { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); alarmlist = new List <AlarmBookModel>(); if (o_data.ResponseData.ALARMS_STATUS == null || o_data.ResponseData.ALARMS_STATUS.Count == 0) { StaticUser.NamePadeAbsenceSomething = "AlarmsActivity"; Android.App.FragmentTransaction transaction = this.FragmentManager.BeginTransaction(); NotFoundOrdersActivity content = new NotFoundOrdersActivity(); transaction.Replace(Resource.Id.frameDriverlayout, content); transaction.Commit(); } foreach (var alm in o_data.ResponseData.ALARMS_STATUS) { alarmlist.Add(new AlarmBookModel { Id = alm.id, Acknowledged = alm.acknowledged, Container_id = alm.container_id, Name = alm.name, Raised_At = alm.raised_at, IsDepot = (alm.depot == "1") ? true : false } ); } UpdateList(); lstAlarm.ItemClick += ListBoxes_ItemClick; } else { StaticUser.NamePadeAbsenceSomething = "AlarmsActivity"; Android.App.FragmentTransaction transaction = this.FragmentManager.BeginTransaction(); NotFoundOrdersActivity content = new NotFoundOrdersActivity(); transaction.Replace(Resource.Id.frameDriverlayout, content); transaction.Commit(); } } } catch (System.Exception ex) { Toast.MakeText(Activity, ex.Message, ToastLength.Long).Show(); } }
public static async Task <ServiceResponseObject <SuccessResponse> > CheckFile(string file_name) { try { HttpResponseMessage response = await _httpClient.GetAsync("https://smartboxcity.ru/media_json.php?media=" + file_name); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { throw new Exception("Ошибка сервера 400"); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var message = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = message.Message; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
/// <summary> /// Получить видео с заказа. /// </summary> /// <returns></returns> public static async Task <ServiceResponseObject <SuccessResponse> > GetVideo(string order_id) { try { HttpResponseMessage response = await _httpClient.GetAsync($"order/{order_id}/video"); string s_result; using (HttpContent responseContent = response.Content) { s_result = await responseContent.ReadAsStringAsync(); } ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); switch (response.StatusCode) { case HttpStatusCode.BadRequest: { throw new Exception("Невозможно получить запрашиваемое видео на этом этапе"); } case HttpStatusCode.InternalServerError: { throw new Exception("Внутренняя ошибка сервера 500"); } case HttpStatusCode.NotFound: { throw new Exception("Ресурс не найден 404"); } case HttpStatusCode.OK: { var message = JsonConvert.DeserializeObject <SuccessResponse>(s_result); o_data.Message = message.Message; o_data.Status = response.StatusCode; return(o_data); } default: { throw new Exception(response.StatusCode.ToString() + " Server Error"); } } } catch (Exception ex) { ServiceResponseObject <SuccessResponse> o_data = new ServiceResponseObject <SuccessResponse>(); o_data.Message = ex.Message; return(o_data); } }
private async Task <TaskStatus> GetEvents() { var o_data = new ServiceResponseObject <EventsResponse>(); using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { try { OrderService.InitializeClient(client); o_data = await OrderService.Events(StaticOrder.Order_id); if (o_data.Status == HttpStatusCode.OK) { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); var number = 0; if (o_data.ResponseData.EVENTS == null || o_data.ResponseData.EVENTS.Count == 0) { return(TaskStatus.Faulted); } foreach (KeyValuePair <string, List <EventResponse> > kvp in o_data.ResponseData.EVENTS) { for (int i = 0; i < o_data.ResponseData.EVENTS[kvp.Key].Count; i++) { Eventlist.Add(new EventModel { id = number++, Id = kvp.Value[i].order_id, Name = kvp.Value[i].message, Time = "(" + kvp.Value[i].created_at.ToLongTimeString() + ")", Date = kvp.Value[i].event_day, ContentType = kvp.Value[i].type }); } } UpdateList(); return(TaskStatus.Running); } else { return(TaskStatus.Faulted);//"Unexpected character encountered while parsing value: <. Path '', line 0, position 0." } } catch (Exception ex) { return(TaskStatus.Faulted); } } }
private async void MakeLock(bool checkBox) { try { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { ManageOrderService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await ManageOrderService.LockRollete(StaticOrder.Order_id); if (o_data.Status == HttpStatusCode.OK) { Android.App.AlertDialog.Builder alert1 = new Android.App.AlertDialog.Builder(Activity); alert1.SetTitle("Закрытие контейнера"); alert1.SetMessage(o_data.Message); alert1.SetPositiveButton("Закрыть", (senderAlert1, args1) => { }); Dialog dialog1 = alert1.Create(); dialog1.Show(); if (checkBox == true) { //btn_Lock.Clickable = false; //btn_Lock.Focusable = false; //btn_Lock.LongClickable = false; btn_Lock.Visibility = ViewStates.Gone; Lock.Text = "Опущена"; } else { btn_Lock.Text = "Поднять"; Lock.Text = "Опущена"; } //FragmentTransaction transaction1 = this.FragmentManager.BeginTransaction(); //ManageOrderActivity content2 = new ManageOrderActivity(); //transaction1.Replace(Resource.Id.framelayout, content2); //transaction1.Commit(); } } } catch (System.Exception ex) { Toast.MakeText(Activity, ex.Message, ToastLength.Long).Show(); } }
private async void GetVideo() { try { if (CrossSettings.Current.GetValueOrDefault("role", "") == "driver") { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { BoxService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await BoxService.GetVideo(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { StaticOrder.File_Name = o_data.Message; } else { Toast.MakeText(context, o_data.Message, ToastLength.Long).Show(); } } } else { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { ManageOrderService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await ManageOrderService.GetVideo(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { StaticOrder.File_Name = o_data.Message; } else { Toast.MakeText(context, o_data.Message, ToastLength.Long).Show(); } } } } catch (Exception ex) { Toast.MakeText(context, ex.Message, ToastLength.Long).Show(); } }
private async void PostGeoData(Location location) { using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { GeoModel model = new GeoModel { gps_time = DateTime.Now, lat = location.Latitude.ToString().Replace(",", "."), lng = location.Longitude.ToString().Replace(",", ".") }; DriverInfoService.InitializeClient(client); var o_data = new ServiceResponseObject <SuccessResponse>(); o_data = await DriverInfoService.PostGeoData(model); Toast.MakeText(Application.Context, o_data.Message, ToastLength.Long).Show(); } }
public async Task <ServiceResponseObject <BoxDataResponse> > GetBoxForUser(string userId) { ContainerMethods BoxData = new ContainerMethods(_boxContext); var access = await _boxContext.UserHasAccesses.Where(p => p.UserId == userId).FirstOrDefaultAsync(); if (access != null) { var Result = await BoxData.GetBox(access.BoxId); Result.Message += " Оплатите заказ."; return(Result); } ServiceResponseObject <BoxDataResponse> response = new ServiceResponseObject <BoxDataResponse>(); response.Message = "Нет доступа."; response.Status = ResponseResult.Error; return(response); }
/// <summary> /// Авторизация пользователя /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <ServiceResponseObject <AuthResponse> > Login(LoginViewModel model) { ServiceResponseObject <AuthResponse> DataContent = new ServiceResponseObject <AuthResponse>(); User user = await _userManager.FindByEmailAsync(model.Email); var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false); if (result.Succeeded && user != null) { var roles = await _userManager.GetRolesAsync(user); if (roles.Count != 0) { DataContent.ResponseData = new AuthResponse() { UserId = user.Id, UserName = model.Email, FirstName = user.FirstName, LastName = user.LastName, Role = roles[0] }; if (roles[0] == "driver") { var driver = await _boxContext.Drivers.Where(p => p.AccountId == user.Id).FirstOrDefaultAsync(); DataContent.ResponseData.DriverId = driver.Id; } DataContent.Message = "Авторизация прошла успешно!"; DataContent.Status = ResponseResult.OK; return(DataContent); } DataContent.Message = "У пользователя не определена роль. Зарегистрируйтесь и попробуйте снова."; DataContent.Status = ResponseResult.Error; return(DataContent); } else { DataContent.Message = "Неправильный логин и(или) пароль"; DataContent.Status = ResponseResult.Error; return(DataContent); } }
private async void GetEvents() { var o_data = new ServiceResponseObject <EventsBoxResponse>(); using (var client = ClientHelper.GetClient(CrossSettings.Current.GetValueOrDefault("token", ""))) { BoxService.InitializeClient(client); o_data = await BoxService.Events(StaticBox.id); if (o_data.Status == HttpStatusCode.OK) { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show(); var number = 0; if (o_data.ResponseData.EVENTS == null || o_data.ResponseData.EVENTS.Count == 0) { throw new Exception("Событий нет"); } foreach (KeyValuePair <string, List <Entity.Model.BoxResponse.EventResponse> > kvp in o_data.ResponseData.EVENTS) { for (int i = 0; i < o_data.ResponseData.EVENTS[kvp.Key].Count; i++) { string[] times = kvp.Value[i].created_at.Split(new char[] { ' ' }); Eventlist.Add(new EventModel { id = number++, Id = StaticBox.id, Name = kvp.Value[i].message, Time = "(" + times[1] + ")", Date = times[0], ContentType = kvp.Value[i].type }); } } UpdateList(); } else { Toast.MakeText(Activity, o_data.Message, ToastLength.Long).Show();//"Unexpected character encountered while parsing value: <. Path '', line 0, position 0." } } }
/// <summary> /// Совершение платежа /// </summary> /// <param name="orderId"></param> /// <returns></returns> public async Task <ServiceResponseObject <BaseResponseObject> > CreatePayment(Guid orderId) { ServiceResponseObject <BaseResponseObject> response = new ServiceResponseObject <BaseResponseObject>(); var order = await _boxContext.Orders.FindAsync(orderId); if (order != null) { var payment = await _boxContext.Payments.FindAsync(order.PaymentId); payment.PayStatus = Status.Ok; payment.PaidAt = DateTime.Now; response.Status = ResponseResult.OK; response.Message = "Оплата успешно произведена."; return(response); } response.Status = ResponseResult.Error; response.Message = "Заказ не найден."; return(response); }
/// <summary> /// Добавление контейнера в бд /// </summary> /// <param name="name"></param> /// <returns></returns> public async Task <ServiceResponseObject <ContainerResponse> > Create(string name) { ServiceResponseObject <ContainerResponse> DataContent = new ServiceResponseObject <ContainerResponse>(); var box = _boxContext.SmartBoxes.Where(s => s.Name == name).FirstOrDefault(); if (box != null) { box.CloudKey = "1"; _boxContext.Update(box); await _boxContext.SaveChangesAsync(); DataContent.Status = ResponseResult.OK; DataContent.Message = "Объект найден!"; DataContent.ResponseData = new ContainerResponse { SmartBoxId = box.Id, Name = box.Name }; return(DataContent); } box = new SmartBox { Name = name, CloudKey = "1" }; var result = await _boxContext.SmartBoxes.AddAsync(box); _boxContext.SaveChanges(); DataContent.Status = ResponseResult.OK; DataContent.Message = "Объект успешно добавлен!"; DataContent.ResponseData = new ContainerResponse { SmartBoxId = box.Id, Name = box.Name }; return(DataContent); }
/// <summary> /// Поиск записи в БД о наличии запроса на фото /// </summary> /// <param name="name"></param> /// <returns></returns> public async Task <ServiceResponseObject <BaseResponseObject> > SearchCommandPhoto(string name) { ServiceResponseObject <BaseResponseObject> DataContent = new ServiceResponseObject <BaseResponseObject>(); var box = _boxContext.SmartBoxes.Where(s => s.Name == name && s.CloudKey == "1").FirstOrDefault(); if (box != null) { box.CloudKey = "0"; _boxContext.Update(box); await _boxContext.SaveChangesAsync(); DataContent.Status = ResponseResult.OK; DataContent.Message = "Запрос от клиента на получение фото."; return(DataContent); } DataContent.Status = ResponseResult.Error; DataContent.Message = "Запросов нет."; return(DataContent); }