public async Task <bool> AddCall(Call call)
        {
            lock (dbLock)
            {
                using (CnContext context = new CnContext())
                {
                    context.Calls.Add(call);
                    Package        package = GetPackageByLineId(call.LineID);
                    PackageDetails packDet = GetPackageDetailsByPackageId(package.ID);
                    packDet.UsedMinutes += call.Duration;
                    UpdateDBPackageDetails(packDet);
                    context.SaveChanges();
                }
            }
            Calls.Add(call);

            return(true);
        }
Exemple #2
0
 public void AddCallsToCenter(string clientId)
 {
     //adds a calls to center to this client
     lock (dbLock)
     {
         Client client = GetClientByID(clientId);
         client.CallsToCenter++;
         using (CnContext context = new CnContext())
         {
             Client dbClient = context.Clients.FirstOrDefault(c => c.ID == clientId);
             if (dbClient != null)
             {
                 dbClient.CallsToCenter++;
             }
             context.SaveChanges();
         }
     }
 }
Exemple #3
0
 public string DeleteClient(string id)
 {
     //moves the client to the un active clients
     lock (dbLock)
     {
         Client client = GetClientByID(id);
         DiactivateClientLinesById(id);
         using (CnContext context = new CnContext())
         {
             UnActiveClient unActive = ConvertClientToUnActive(client);
             context.UnActiveClients.Add(unActive);
             context.Clients.Remove(context.Clients.FirstOrDefault(c => c.ID == id));
             context.SaveChanges();
         }
         Clients.Remove(client);
     }
     return("Client removed succesfully!");
 }
Exemple #4
0
 public RequestStatusEnum UpdateLineStatus(Line line)
 {
     //updates the line's new status
     using (CnContext context = new CnContext())
     {
         Line lineFromDb = context.Lines.FirstOrDefault(l => l.Number == line.Number);
         if (lineFromDb != null)
         {
             lineFromDb.Status = line.Status;
             context.SaveChanges();
             LoadLinesAndPackges();
             return(RequestStatusEnum.Success);
         }
         else
         {
             return(RequestStatusEnum.Error);
         }
     }
 }
Exemple #5
0
 public RequestStatusEnum DeleteLine(string line)
 {
     //deletes the line and all its belongings
     lock (dbLock)
     {
         using (CnContext context = new CnContext())
         {
             Line            lineFromDb         = context.Lines.FirstOrDefault(l => l.Number == line);
             Package         packageFromDb      = context.Packages.FirstOrDefault(p => p.ID == lineFromDb.PackageID);
             PackageDetails  packDetFromDb      = context.PackageDetails.FirstOrDefault(pd => pd.PackageID == packageFromDb.ID);
             SelectedNumbers selectedNumsFromDb = context.SelectedNumbers.FirstOrDefault(sn => sn.ID == packDetFromDb.SelectedNumbersID);
             context.Lines.Remove(lineFromDb);
             context.Packages.Remove(packageFromDb);
             context.PackageDetails.Remove(packDetFromDb);
             context.SelectedNumbers.Remove(selectedNumsFromDb);
             context.SaveChanges();
             LoadLinesAndPackges();
         }
         return(RequestStatusEnum.Success);
     }
 }
Exemple #6
0
 private void DiactivateClientLinesById(string id)
 {
     //deactivates the client lines
     lock (dbLock)
     {
         List <Line> clientLines = GetClientLinesById(id);
         using (CnContext context = new CnContext())
         {
             foreach (var item in clientLines)
             {
                 Line dbLine = context.Lines.FirstOrDefault(l => l.ClientID == id);
                 if (dbLine != null)
                 {
                     dbLine.Status = LineStatusEnum.Blocked;
                 }
                 item.Status = LineStatusEnum.Blocked;
             }
             context.SaveChanges();
         }
     }
 }