public async Task <IActionResult> ExternalPort(PortActionModel model) { var loginCookie = await _tracfone.Login(); var estOrder = await _tracfone.EstimateOrder(loginCookie); var submitOrder = await _tracfone.SubmitOrder(loginCookie); var result = await _tracfone.ExternalPort(model); return(Json(result)); }
public async Task <IActionResult> ExecuteBulk() { var results = new List <IActionResult>(); var repo = new Repository(_connectionString); var bulkData = repo.GetAllBulkData(); foreach (BulkData data in bulkData) { switch (data.Action) { case BulkAction.AddDevice: var addDeviceModel = new AddDeviceActionModel { Serial = data.Serial, Sim = data.Sim }; results.Add(await AddDevice(addDeviceModel)); break; case BulkAction.DeleteDevice: var deleteModel = new DeleteActionModel { Serial = data.Serial }; results.Add(await DeleteDevice(deleteModel)); break; case BulkAction.Activate: var activateModel = new ActivateActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip }; results.Add(await Activate(activateModel)); break; case BulkAction.InternalPort: var internelPortModel = new PortActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip, CurrentAccountNumber = data.CurrentAccountNumber, CurrentMIN = data.CurrentMIN, CurrentServiceProvider = data.CurrentServiceProvider, CurrentVKey = data.CurrentVKey }; results.Add(await InternalPort(internelPortModel)); break; case BulkAction.ExternalPort: var externelPortModel = new PortActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip, CurrentAccountNumber = data.CurrentAccountNumber, CurrentMIN = data.CurrentMIN, CurrentServiceProvider = data.CurrentServiceProvider, }; results.Add(await ExternalPort(externelPortModel)); break; } } return(Json(results)); }
public async Task <IActionResult> ExecuteBulk() { var repo = new Repository(_connectionString); var bulkData = repo.GetAllBulkData(); var results = new List <dynamic>(); foreach (BulkData data in bulkData) { if (!data.Done) { switch (data.Action) { case BulkAction.AddDevice: var addDeviceModel = new AddDeviceActionModel { Serial = data.Serial, Sim = data.Sim }; string addDeviceResults = ""; //BYOP Eligibility dynamic byopEligibilityResult = null; for (int i = 0; i < 3; i++) { byopEligibilityResult = await _tracfone.CheckBYOPEligibility(addDeviceModel.Serial); } string byopEligibilityStatus = byopEligibilityResult["status"]["code"].ToString(); if (byopEligibilityStatus != "0" && byopEligibilityStatus != "10008" && byopEligibilityStatus != "11023") { byopEligibilityResult["request"] = "BYOP Eligibility Failed"; addDeviceResults += JsonConvert.SerializeObject(byopEligibilityResult); data.response = addDeviceResults; results.Add(byopEligibilityResult); break; } // Skip BYOP Registration if already added if (byopEligibilityStatus == "10008" || byopEligibilityStatus == "11023") { //Add Device var addDeviceResult2 = await _tracfone.AddDevice(addDeviceModel.Serial); addDeviceResults += JsonConvert.SerializeObject(addDeviceResult2); data.response = addDeviceResults; results.Add(addDeviceResult2); break; } //BYOP Registration dynamic byopRegistrationResult = await _tracfone.BYOPRegistration(addDeviceModel); string byopRegistrationStatus = byopRegistrationResult["status"]["code"].ToString(); if (byopRegistrationStatus != "0") { byopRegistrationResult["request"] = "BYOP Registration Failed"; addDeviceResults += JsonConvert.SerializeObject(byopRegistrationResult); data.response = byopEligibilityResult; results.Add(byopRegistrationResult); break; } //Add Device var addDeviceResult = await _tracfone.AddDevice(addDeviceModel.Serial); addDeviceResults += JsonConvert.SerializeObject(addDeviceResult); data.response = addDeviceResults; results.Add(addDeviceResults); break; case BulkAction.DeleteDevice: var deleteSerial = data.Serial; var deleteResp = await _tracfone.DeleteDevice(deleteSerial); data.response = JsonConvert.SerializeObject(deleteResp); results.Add(deleteResp); break; case BulkAction.Activate: var activateModel = new ActivateActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip }; var activateResp = await _tracfone.Activate(activateModel); data.response = JsonConvert.SerializeObject(activateResp); results.Add(activateResp); break; case BulkAction.InternalPort: var internelPortModel = new PortActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip, CurrentAccountNumber = data.CurrentAccountNumber, CurrentMIN = data.CurrentMIN, CurrentServiceProvider = data.CurrentServiceProvider, CurrentVKey = data.CurrentVKey }; var iportResp = await _tracfone.InternalPort(internelPortModel); data.response = JsonConvert.SerializeObject(iportResp); results.Add(iportResp); break; case BulkAction.ExternalPort: var externelPortModel = new PortActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip, CurrentAccountNumber = data.CurrentAccountNumber, CurrentMIN = data.CurrentMIN, CurrentServiceProvider = data.CurrentServiceProvider, }; var eportResp = await _tracfone.ExternalPort(externelPortModel); data.response = JsonConvert.SerializeObject(eportResp); results.Add(eportResp); break; case BulkAction.ChangeSIM: var changeSIMModel = new ActivateActionModel { Serial = data.Serial, Sim = data.Sim, Zip = data.Zip }; var changeSIMResp = await _tracfone.ChangeSIM(changeSIMModel); data.response = JsonConvert.SerializeObject(changeSIMResp); results.Add(changeSIMResp); break; case BulkAction.DeactivateAndRetaineDays: var deactivateAndRetaineDaysReponse = await _tracfone.DeactivateAndRetaineDays(data.Serial); data.response = JsonConvert.SerializeObject(deactivateAndRetaineDaysReponse); results.Add(deactivateAndRetaineDaysReponse); break; case BulkAction.DeactivatePastDue: var deactivatePastDueResponse = await _tracfone.DeactivatePastDue(data.Serial); data.response = JsonConvert.SerializeObject(deactivatePastDueResponse); results.Add(deactivatePastDueResponse); break; } } } repo.WriteAllResponse(bulkData); return(Json(results)); }
public async Task <IActionResult> InternalPort(PortActionModel model) { Tracfone tracfone = new Tracfone(); var url = $"api/order-mgmt/v1/serviceorder?client_id={_clientID}"; var auth = await tracfone.GetOrderMgmtAuthorization(_accessToken); var portData = new ServiceData { OrderDate = "2016-04-16T16:42:23-04:00", RelatedParties = new List <RelatedParty> { new RelatedParty { RoleType = "partner", Party = new Party { PartyExtension = new List <Extension> { new Extension { Name = "partyTransactionID", Value = "84306270-c4cd-4142-b41a-311b63b70074" }, new Extension { Name = "sourceSystem", Value = "WEB" }, new Extension { Name = "vendorStore", Value = "302" }, new Extension { Name = "vendorTerminal", Value = "302" } }, PartyID = "Approvedlink", LanguageAbility = "ENG", } }, new RelatedParty { RoleType = "customer", Party = new Party { Individual = new Individual { ID = "681177314" }, PartyExtension = new List <Extension> { new Extension { Name = "accountEmail", Value = _username }, new Extension { Name = "accountPassword", Value = "" } } } } }, ExternalID = "123", OrderItems = new List <OrderItem> { new OrderItem { Product = new Product { SubCategory = "BRANDED", ProductCategory = "HANDSET", ProductSpecification = new Specification { Brand = "CLEARWAY" }, ProductCharacteristics = new List <Extension> { new Extension { Name = "manufacturer", Value = "APPLE" }, new Extension { Name = "model", Value = "MKRD2LL/A" } }, RelatedServices = new List <RelatedService> { new RelatedService { ID = "", Category = "SERVICE_PLAN" } }, ProductSerialNumber = model.Serial, SupportingResources = new List <SupportingResource> { new SupportingResource { ProductIdentifier = "", ResourceType = "AIRTIME_CARD" }, new SupportingResource { SerialNumber = model.Sim, ResourceType = "SIM_CARD" } } }, ID = "1", Location = new Location { PostalAddress = new PostalAddress { Zipcode = model.Zip } }, Action = "PORT", OrderItemExtension = new List <Extension> { new Extension { Name = "currentMIN", Value = model.CurrentMIN }, new Extension { Name = "currentServiceProvider", Value = model.CurrentServiceProvider }, new Extension { Name = "currentCarrierType", Value = "Wireless" }, new Extension { Name = "currentAccountNumber", Value = model.CurrentAccountNumber }, new Extension { Name = "houseNumber", Value = "1259" }, new Extension { Name = "currentAddressLine1", Value = "Unit 1295" }, new Extension { Name = "streetName", Value = "Charleston Road" }, new Extension { Name = "streetType", Value = "RD" }, new Extension { Name = "currentAddressCity", Value = "Miami" }, new Extension { Name = "currentAddressState", Value = "FL" }, new Extension { Name = "currentAddressZip", Value = "33178" }, new Extension { Name = "currentFullName", Value = "Cyber Source" }, new Extension { Name = "contactPhone", Value = "3051380236" } } } } }; var result = await tracfone.PostAPIResponse(url, $"{auth.token_type} {auth.access_token}", portData); return(Json(result)); }