Ejemplo n.º 1
0
        public async Task <ServiceResponseObject <BaseResponseObject> > EditBox(EditBoxViewModel model)
        {
            if (ModelState.IsValid)
            {
                ContainerMethods BoxData = new ContainerMethods(_boxContext);
                var Result = await BoxData.EditBox(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);
        }
Ejemplo n.º 2
0
        public void TestsCleanup()
        {
            this.boxService          = null;
            this.navigationService   = null;
            this.localizationService = null;
            this.dialogService       = null;

            this.editBoxViewModel = null;
        }
Ejemplo n.º 3
0
        public void TestsInitialize()
        {
            this.boxService          = new FakeBoxService();
            this.navigationService   = new FakeNavigationService();
            this.localizationService = new FakeLocalizationService();
            this.dialogService       = new FakeDialogService();

            this.editBoxViewModel = new EditBoxViewModel(this.boxService, this.navigationService,
                                                         this.localizationService, this.dialogService);
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> EditBoxes(EditBoxViewModel form)
        {
            if (this.ModelState.IsValid)
            {
                await this.service.EditBoxesAsync(form);

                return(this.RedirectToAction("Success", "Blacksmith", new { message = "Successfully Edited Boxes" }));
            }

            return(this.View(form));
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> EditBoxes()
        {
            var boxes = await this.service.GetAllBoxesAsync();

            var model = new EditBoxViewModel();

            model.BoxViewModel = new List <AddBoxViewModel>();

            foreach (var box in boxes)
            {
                model.BoxViewModel.Add(new AddBoxViewModel {
                    Href = box.Href, Color = box.Color, Text = box.Text
                });
            }

            return(this.View(model));
        }
Ejemplo n.º 6
0
        public async Task EditBoxesAsync(EditBoxViewModel form)
        {
            var page = await this.context.Pages.FirstOrDefaultAsync(x => x.PageName == "Index");

            var boxes = page.ColorfulBoxes.Where(x => x.IsDeleted == false).ToList();

            for (int i = 0; i < form.BoxViewModel.Count; i++)
            {
                var formBox = form.BoxViewModel[i];
                var dbBox   = boxes[i];

                dbBox.Href      = formBox.Href;
                dbBox.Color     = formBox.Color;
                dbBox.Text      = formBox.Text;
                dbBox.IsDeleted = formBox.IsDeleted;
            }

            await this.context.SaveChangesAsync();
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Редактирование данных объекта
        /// </summary>
        /// <param name="id"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ServiceResponseObject <BaseResponseObject> > EditBox(EditBoxViewModel model)
        {
            ServiceResponseObject <BaseResponseObject> ContentData = new ServiceResponseObject <BaseResponseObject>();

            if (model == null)
            {
                ContentData.Message = "Не указаны данные для контейнера.";
                ContentData.Status  = ResponseResult.Error;
                return(ContentData);
            }
            var box = await _boxContext.SmartBoxes.FirstOrDefaultAsync(s => s.Id == model.Id);

            //var team = await _teamContext.Teams.FirstOrDefaultAsync(f => f.Id == user.TeamId);

            if (box == null)
            {
                ContentData.Message = "Контейнер не найден.";
                ContentData.Status  = ResponseResult.Error;
                return(ContentData);
            }

            box.Name         = model.Name;
            box.BoxState     = model.BoxState;
            box.BatteryPower = model.BatteryPower;
            box.Code         = model.Code;
            box.IsOpenedBox  = model.IsOpenedBox;
            box.IsOpenedDoor = model.IsOpenedDoor;
            box.Light        = model.Light;
            box.Temperature  = model.Temperature;
            box.Weight       = model.Weight;
            box.Wetness      = model.Wetness;

            _boxContext.Update(box);
            await _boxContext.SaveChangesAsync();

            ContentData.Message = "Успешно.";
            ContentData.Status  = ResponseResult.OK;
            return(ContentData);
        }
Ejemplo n.º 8
0
        public static async Task <AuthApiData <BaseResponseObject> > EditBox()
        {
            try
            {
                var myHttpClient = new HttpClient();

                EditBoxViewModel ForAnotherServer = new EditBoxViewModel
                {
                    id = StaticBox.DeviceId,

                    Sensors = new Dictionary <string, string> {
                        ["Вес груза"]    = StaticBox.Sensors["Вес груза"],
                        ["Температура"]  = StaticBox.Sensors["Температура"],
                        ["Влажность"]    = StaticBox.Sensors["Влажность"],
                        ["Освещенность"] = StaticBox.Sensors["Освещенность"],
                        ["Уровень заряда аккумулятора"] = StaticBox.Sensors["Уровень заряда аккумулятора"],
                        ["Уровень сигнала"]             = StaticBox.Sensors["Уровень сигнала"],
                        ["Состояние дверей"]            = StaticBox.Sensors["Состояние дверей"],
                        ["Состояние контейнера"]        = StaticBox.Sensors["Состояние контейнера"],
                        ["Местоположение контейнера"]   = StaticBox.Sensors["Местоположение контейнера"]
                    },
                };


                var date = DateTime.Now;


                var uri = new Uri("http://iot.tmc-centert.ru/api/container/editsensors?date=" + date + "&id=" + CrossSettings.Current.GetValueOrDefault("id", "") + "&sensors[Вес груза]=" + StaticBox.Sensors["Вес груза"]
                                  + "&sensors[Температура]=" + StaticBox.Sensors["Температура"] + "&sensors[Влажность]=" + StaticBox.Sensors["Влажность"] + "&sensors[Освещенность]=" + StaticBox.Sensors["Освещенность"]
                                  + "&sensors[Уровень заряда аккумулятора]=" + StaticBox.Sensors["Уровень заряда аккумулятора"] + "&sensors[Уровень сигнала]=" + StaticBox.Sensors["Уровень сигнала"] + "&sensors[Состояние дверей]=" + StaticBox.Sensors["Состояние дверей"]
                                  + "&sensors[Состояние контейнера]=" + StaticBox.Sensors["Состояние контейнера"] + "&sensors[Местоположение контейнера]=" + StaticBox.Sensors["Местоположение контейнера"]);

                var uri2 = new Uri("http://smartboxcity.ru:8003/imitator/sensors?" + "id=" + StaticBox.DeviceId + "&sensors[Вес груза]=" + StaticBox.Sensors["Вес груза"]
                                   + "&sensors[Температура]=" + StaticBox.Sensors["Температура"] + "&sensors[Влажность]=" + StaticBox.Sensors["Влажность"] + "&sensors[Освещенность]=" + StaticBox.Sensors["Освещенность"]
                                   + "&sensors[Уровень заряда аккумулятора]=" + StaticBox.Sensors["Уровень заряда аккумулятора"] + "&sensors[Уровень сигнала]=" + StaticBox.Sensors["Уровень сигнала"] + "&sensors[Состояние дверей]=" + StaticBox.Sensors["Состояние дверей"]
                                   + "&sensors[Состояние контейнера]=" + StaticBox.Sensors["Состояние контейнера"] + "&sensors[Местоположение контейнера]=" + StaticBox.Sensors["Местоположение контейнера"]);


                var formContent = new FormUrlEncodedContent(new Dictionary <string, string>
                {
                    { "id", CrossSettings.Current.GetValueOrDefault("id", "") },
                    { "date", date.ToString() },
                    { "sensors[Вес груза]", StaticBox.Sensors["Вес груза"] },
                    { "sensors[Температура]", StaticBox.Sensors["Температура"] },
                    { "sensors[Влажность]", StaticBox.Sensors["Влажность"] },
                    { "sensors[Освещенность]", StaticBox.Sensors["Освещенность"] },
                    { "sensors[Уровень заряда аккумулятора]", StaticBox.Sensors["Уровень заряда аккумулятора"] },
                    { "sensors[Уровень сигнала]", StaticBox.Sensors["Уровень сигнала"] },
                    { "sensors[Состояние дверей]", StaticBox.Sensors["Состояние дверей"] },
                    { "sensors[Состояние контейнера]", StaticBox.Sensors["Состояние контейнера"] },
                    { "sensors[Местоположение контейнера]", StaticBox.Sensors["Местоположение контейнера"] }
                });

                //EditBoxViewModel box = new EditBoxViewModel
                //{
                //    id = CrossSettings.Current.GetValueOrDefault("id", ""),
                //    date = date,
                //    Sensors = new Dictionary<string, string>
                //    {
                //        {"Температура",StaticBox.Sensors["Температура"] },
                //        {"Влажность",StaticBox.Sensors["Влажность"] },
                //        {"Освещенность",StaticBox.Sensors["Освещенность"] },
                //        {"Вес груза",StaticBox.Sensors["Вес груза"] },
                //        {"Уровень заряда аккумулятора",StaticBox.Sensors["Уровень заряда аккумулятора"]},
                //        {"Уровень сигнала",StaticBox.Sensors["Уровень сигнала"]},
                //        {"Состояние дверей",StaticBox.Sensors["Состояние дверей"]},
                //        {"Состояние контейнера",StaticBox.Sensors["Состояние контейнера"]},
                //        {"Местоположение контейнера",StaticBox.Sensors["Местоположение контейнера"]}
                //    }
                //};

                //var data = new StringContent(JsonConvert.SerializeObject(box));
                //HttpResponseMessage response = await myHttpClient.PostAsync(uri.ToString(), formContent);
                HttpResponseMessage responseFromAnotherServer = await myHttpClient.PostAsync(uri2.ToString(), new StringContent(JsonConvert.SerializeObject(ForAnotherServer), Encoding.UTF8, "application/json"));

                AuthApiData <BaseResponseObject> o_data = new AuthApiData <BaseResponseObject>();

                //string s_result;
                //using (HttpContent responseContent = response.Content)
                //{
                //    s_result = await responseContent.ReadAsStringAsync();
                //}

                string s_result_from_server;
                using (HttpContent responseContent = responseFromAnotherServer.Content)
                {
                    s_result_from_server = await responseContent.ReadAsStringAsync();
                }

                if (responseFromAnotherServer.IsSuccessStatusCode)
                {
                    StaticBox.CreatedAtSensors = date;
                    o_data = JsonConvert.DeserializeObject <AuthApiData <BaseResponseObject> >(s_result_from_server);
                }
                else
                {
                    ErrorResponseObject error = new ErrorResponseObject();
                    error          = JsonConvert.DeserializeObject <ErrorResponseObject>(s_result_from_server);
                    o_data.Message = error.Errors[0];
                    o_data.Status  = responseFromAnotherServer.StatusCode.ToString();
                }

                return(o_data);
            }
            catch (Exception ex)
            {
                AuthApiData <BaseResponseObject> result = new AuthApiData <BaseResponseObject>();
                result.Status  = "1";
                result.Message = ex.Message;
                return(result);
            }
        }