public bool UpdateCall(string callReference, Call call) { Check.If(call).IsNotNull(); Check.If(callReference).IsNotNullOrEmpty(); return _callRepository.UpdateCall(callReference, call); }
public bool CreateCall(Call call, bool isInbound) { Check.If(call).IsNotNull(); if (call.IsInvalid()) return false; call.IsInbound = isInbound; call.GenerateReference(_referenceGenerator); return _callRepository.CreateCall(call); }
public bool CreateCall(Call call) { using (var context = new CommunicationsContext(_databaseSettings.ConnectionString)) { //ensure phone numbers are valid if (!call.To.IsValidPhoneNumber() || !call.From.IsValidPhoneNumber()) return false; //create phone numbers for to or from (this wont create duplicates) _phoneNumberService.CreatePhoneNumber(call.To); _phoneNumberService.CreatePhoneNumber(call.From); //use newly created (or existing) Phone Number objects in the context for to and from call.From = context.PhoneNumbers.FirstOrDefault(x => x.Number == call.From.Number); call.To = context.PhoneNumbers.FirstOrDefault(x => x.Number == call.To.Number); context.Calls.Add(call); return context.SaveChanges() > 0; } }
public bool UpdateCall(string callReference, Call call) { using (var context = new CommunicationsContext(_databaseSettings.ConnectionString)) { var currentCall = context.Calls.FirstOrDefault(x => x.CallReference == callReference); if (currentCall == null) return false; _callMapper.Map(call, currentCall); return context.SaveChanges() > 0; } }