private void SendLine() { //validates the fields and send the line,package and details if (ValidateFields()) { UpdateModels(); LinePackObject linePackObj = new LinePackObject(SelectedLine, SelectedPackage, SelectedPackageDetails, SelectedNumbers, ClientId, EmployeeID); Tuple <object, HttpStatusCode> returnTuple = httpClient.PostRequest(ApiConfigs.SendLinePackageRoute, linePackObj); if (returnTuple.Item2 == HttpStatusCode.OK) { if (ExistingLine) { logger.Print("Line and package updated succesfully."); CloseThisWindow(); } else { logger.Print("line and package added succsefully"); CloseThisWindow(); } } else { logger.Print(returnTuple.Item2.ToString()); } } }
public RequestStatusEnum CreateNewLinePackage(LinePackObject linePackObj) { //creates a new line,package,package details,and selected numbers lock (dbLock) { using (CnContextMock context = new CnContextMock()) { context.Packages.Add(new Package(linePackObj.Package.PackageName, linePackObj.Package.PackageTotalPrice)); context.SaveChanges(); LoadLinesAndPackges(); int PackageId = Packages.Last().ID; context.SelectedNumbers.Add(new SelectedNumbers(linePackObj.SelectedNumbers.FirstNumber, linePackObj.SelectedNumbers.SecondNumber, linePackObj.SelectedNumbers.ThirdNumber)); context.SaveChanges(); LoadLinesAndPackges(); int selectedNumId = SelectedNumbers.Last().ID; context.PackageDetails.Add(new PackageDetails(PackageId, "Custom Package", linePackObj.PackageDetails.MaxMinutes, 0, linePackObj.PackageDetails.MaxSMS, 0, linePackObj.PackageDetails.FixedSmsPrice, linePackObj.PackageDetails.FixedCallPrice, linePackObj.PackageDetails.DiscountPercentage, selectedNumId, linePackObj.PackageDetails.MostCalledNumber)); context.Lines.Add(new Line(linePackObj.ClientId, linePackObj.LineNumber, LineStatusEnum.Available, PackageId, linePackObj.EmployeeID)); context.SaveChanges(); } LoadCollections(); return(RequestStatusEnum.Success); } }
public RequestStatusEnum UpdateLinePackage(LinePackObject linePackObj) { //updates the line,package,package details,and selected numbers lock (dbLock) { using (CnContextMock context = new CnContextMock()) { Package packpageFromDb = context.Packages.FirstOrDefault(p => p.ID == linePackObj.Package.ID); packpageFromDb.PackageTotalPrice = linePackObj.Package.PackageTotalPrice; packpageFromDb.PackageName = linePackObj.Package.PackageName; PackageDetails packdetFromDb = context.PackageDetails.FirstOrDefault(pd => pd.ID == linePackObj.PackageDetails.ID); packdetFromDb.DiscountPercentage = linePackObj.PackageDetails.DiscountPercentage; packdetFromDb.FixedCallPrice = linePackObj.PackageDetails.FixedCallPrice; packdetFromDb.FixedSmsPrice = linePackObj.PackageDetails.FixedSmsPrice; packdetFromDb.MaxMinutes = linePackObj.PackageDetails.MaxMinutes; packdetFromDb.MaxSMS = linePackObj.PackageDetails.MaxSMS; packdetFromDb.MostCalledNumber = linePackObj.PackageDetails.MostCalledNumber; SelectedNumbers selectedNumsFromDb = context.SelectedNumbers.FirstOrDefault(sn => sn.ID == linePackObj.SelectedNumbers.ID); selectedNumsFromDb.FirstNumber = linePackObj.SelectedNumbers.FirstNumber; selectedNumsFromDb.SecondNumber = linePackObj.SelectedNumbers.SecondNumber; selectedNumsFromDb.ThirdNumber = linePackObj.SelectedNumbers.ThirdNumber; context.SaveChanges(); } } LoadCollections(); return(RequestStatusEnum.Success); }
public void TestSendLinePackObj() { Package pack = linesManager.GetPackageByLineId("0523974471"); PackageDetails packDet = linesManager.GetPackageDetailsByPackageId(pack.ID); SelectedNumbers selectedNums = linesManager.GetSelectedNumbersById(packDet.SelectedNumbersID); LinePackObject linePackObj = new LinePackObject("0523974471", pack, packDet, selectedNums, "312149891", 1); Assert.AreEqual(RequestStatusEnum.Success, linesManager.SendLinePackageObj(linePackObj)); }
public RequestStatusEnum SendLinePackageObj(LinePackObject linePackObj) { //check if the line needs to be created or updated and acts accordingly if (networkRepository.IsLineExists(linePackObj.LineNumber)) { return(networkRepository.UpdateLinePackage(linePackObj)); } else { return(networkRepository.CreateNewLinePackage(linePackObj)); } }
public IHttpActionResult SendPackage([FromBody] LinePackObject linePackObj) { //gets the line and package object from the clients and add/updates it return(Ok(linesManager.SendLinePackageObj(linePackObj))); }