Ejemplo n.º 1
0
        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());
                }
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
 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));
     }
 }
Ejemplo n.º 6
0
 public IHttpActionResult SendPackage([FromBody] LinePackObject linePackObj)
 {
     //gets the line and package object from the clients and add/updates it
     return(Ok(linesManager.SendLinePackageObj(linePackObj)));
 }