예제 #1
0
        public async Task <ActionResult> UseAddressOfTelit(SetUpViewModels model)
        {
            ApplianceDTO applianceDTO = new ApplianceDTO()
            {
                AccountId    = current_UserID,
                SerialNumber = model.SerialNumber,
                Street1      = model.StreetName,
                Street2      = model.StreetName2,
                City         = model.City,
                ZipCode      = model.Zipcode,
                StateId      = Convert.ToInt64(model.State)
            };

            string url = _appSettings.ApiUrl + "/Setting/UseAddressOfTelit";

            client             = new HttpClient();
            client.BaseAddress = new Uri(url);

            HttpResponseMessage responseMessage = await client.PostAsJsonAsync(url, applianceDTO);

            var responseData = new ResponseData <ApplianceDTO>();

            if (responseMessage.IsSuccessStatusCode)
            {
                responseData = responseMessage.Content.ReadAsAsync <ResponseData <ApplianceDTO> >().Result;
                if (responseData.Status == ResponseMessage.Success && responseData.Data != null)
                {
                    HttpContext.Session.SetString("ApplianceId", $"{responseData.Data.Id}");
                    return(RedirectToAction("Index", "Home", new { }));
                }
                else
                {
                    ViewBag.MessageError = responseData.Message;
                }
            }

            return(View(model));
        }
예제 #2
0
        public ActionResult Index()
        {
            GetStates().Wait();
            SetUpViewModels setup = null;

            if (current_ApplianceId > 0)
            {
                ViewBag.BackButton = true;
            }


            if (current_UserID <= 0)
            {
                return(RedirectToAction("Signin", "Login"));
            }
            else
            {
                setup = new SetUpViewModels()
                {
                    States = listStates
                };
            }
            return(View(setup));
        }
예제 #3
0
        public async Task <ActionResult> Index(SetUpViewModels model)
        {
            if (current_ApplianceId > 0)
            {
                ViewBag.BackButton = true;
            }
            string url = string.Empty;

            GetStates().Wait();
            model.States = listStates;
            if (model.UseAddressFromTelit == "UseTelit")
            {
                url                = _appSettings.ApiUrl + "/Setting/UseAddressOfTelit";
                client             = new HttpClient();
                client.BaseAddress = new Uri(url);
            }
            else
            {
                url                = _appSettings.ApiUrl + "/Setting/SetupThink";
                client             = new HttpClient();
                client.BaseAddress = new Uri(url);
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (!ValidateSerinumber(model.SerialNumber.Trim()))
            {
                ViewBag.MessageError = "SerialNumber is invalid";
                return(View(model));
            }


            ApplianceDTO applianceDTO = new ApplianceDTO()
            {
                AccountId                           = current_UserID,
                SerialNumber                        = model.SerialNumber.Trim(),
                Street1                             = model.StreetName.Trim(),
                Street2                             = model.StreetName2 != null?model.StreetName2.Trim() : string.Empty,
                                            City    = model.City.Trim(),
                                            ZipCode = model.Zipcode.Trim(),
                                            StateId = Convert.ToInt64(model.State)
            };



            HttpResponseMessage responseMessage = await client.PostAsJsonAsync(url, applianceDTO);

            var responseData = new ResponseData <ApplianceDTO>();

            if (responseMessage.IsSuccessStatusCode)
            {
                responseData = responseMessage.Content.ReadAsAsync <ResponseData <ApplianceDTO> >().Result;
                if (responseData != null && responseData.Data != null)
                {
                    if (responseData.Data.HasSerialNumber != null && responseData.Data.HasSerialNumber.HasValue && responseData.Data.IsMatching != null && responseData.Data.IsMatching.HasValue)
                    {
                        var hasSerialNumber = responseData.Data.HasSerialNumber.Value;
                        var isMatching      = responseData.Data.IsMatching.Value;
                        if (hasSerialNumber)
                        {
                            if (isMatching)
                            {
                                HttpContext.Session.SetString("ApplianceId", $"{responseData.Data.Id}");
                                return(RedirectToAction("Index", "Home", new { }));
                            }
                            else
                            {
                                ViewBag.ConfirmAddress = true;
                            }
                        }
                        else
                        {
                            ViewBag.MessageError = responseData.Message;
                        }
                    }
                    else
                    {
                        if (responseData.Data != null && responseData.Status == ResponseStatus.Success.ToString())
                        {
                            HttpContext.Session.SetString("ApplianceId", $"{responseData.Data.Id}");
                            return(RedirectToAction("Index", "Home", new { }));
                        }
                        else
                        {
                            ViewBag.MessageError = responseData.Message;
                        }
                    }
                }
                else
                {
                    ViewBag.MessageError = responseData.Message;
                }
            }

            return(View(model));
        }