Esempio n. 1
0
        public BasicResponse UpdateStatus(Call call)
        {
            var retCall = _context.Calls.FirstOrDefault(c => c.Id == call.Id);
            var previousCallTimeline = _context.CallTimelines.OrderByDescending(c => c.DateCreated).FirstOrDefault(c => c.CallId == call.Id);

            // new call timeline
            var callTimeline = new CallTimeline
            {
                CallId           = call.Id,
                Status           = call.Status,
                EngineerLocation = call.EngineerLocation,
                CallOrderNumber  = call.CallOrderNumber,
                DateCreated      = DateTime.Now
            };

            _context.CallTimelines.Add(callTimeline);

            // previous call timeline
            previousCallTimeline.DateChanged = DateTime.Now;
            _context.CallTimelines.Update(previousCallTimeline);

            // update call
            if (call.IsCompleted)
            {
                retCall.IsCompleted   = true;
                retCall.DateCompleted = call.DateCompleted;
            }
            retCall.Status = call.Status;
            _context.Calls.Update(retCall);

            // save changes
            _context.SaveChanges();
            return(BasicResponse.SuccessResult("Call status updated successfully"));
        }
Esempio n. 2
0
        public Call CreateTimeline(Call call)
        {
            var retCall      = GetByCON(call.CallOrderNumber);
            var callTimeline = new CallTimeline
            {
                CallId           = retCall.Id,
                Status           = retCall.Status,
                EngineerLocation = retCall.EngineerLocation,
                CallOrderNumber  = retCall.CallOrderNumber,
                DateCreated      = DateTime.Now
            };

            _context.CallTimelines.Add(callTimeline);
            _context.SaveChanges();
            return(retCall);
        }