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); }
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(); } } }
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!"); }
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); } } }
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); } }
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(); } } }