public bool SaveCrmActivity(CrmActivityInfo req) { if (string.IsNullOrWhiteSpace(Provider.CurrentMember.Id)) { throw new APIException("Access is denied"); } var cr = new CrmActivity(); req.CopyPropertiesWithSameName(cr); cr.MemberId = Provider.CurrentMember.Id; cr.Save(); Job j = new Job() { Command = JobCommands.NewTicket, Executer = JobExecuters.Staff, ExecuterId = Provider.CurrentMember.StaffMemberId.IsEmpty() ? Provider.Api.GetNextIdleStaffMemberId(Departments.Marketing) : Provider.CurrentMember.StaffMemberId, Name = "New ticket from " + cr.Member().FullName, RelatedEntityName = "CrmActivity", RelatedEntityId = cr.Id, State = JobStates.NotStarted }; j.Save(); return(true); }
private static void UpdateActivitiesFromGoogleCalendar(ILog logger, CalendarService service, IActivityService activityService, string calendarId) { Events events = FindEvents(logger, service, calendarId); if (events != null) { logger.Info($"Update Calendar Id from Google:{calendarId} count:{events.Items.Count} "); foreach (var item in events.Items) { var activity = new CrmActivity(); try { bool updated = false; if (!string.IsNullOrWhiteSpace(item.ICalUID)) { activity = activityService.GetActivityById(item.ICalUID); } //activity = activityService.GetActivityById("23e8f5c6-283c-4826-9e80-e5dce15fdefc"); if (!string.IsNullOrWhiteSpace(activity.ActivityId)) { var startDateTime = activity.StartDate + activity.StartTime; var endDateTime = activity.EndDate + activity.EndTime; if (startDateTime != item.Start.DateTime.Value) { updated = true; activity.StartDate = item.Start.DateTime.Value.Date; activity.StartTime = item.Start.DateTime.Value.TimeOfDay; } if (endDateTime != item.End.DateTime.Value) { updated = true; activity.StartDate = item.Start.DateTime.Value.Date; activity.StartTime = item.Start.DateTime.Value.TimeOfDay; } if (!string.IsNullOrWhiteSpace(item.Summary) && !item.Summary.Contains(activity.Topic)) { updated = true; activity.Topic = item.Summary; } if (!string.IsNullOrWhiteSpace(item.Description) && (!item.Description.Contains(activity.Detail))) { updated = true; activity.Detail = item.Description; } } if (updated) { activityService.UpdateActivity(activity); } } catch (Exception e) { logger.Error($"Update Activity Id:{activity.ActivityId} CalendarId:{calendarId} Error:{e.Message}{e.StackTrace}"); } } } }
/// <summary> /// Updates the activity /// </summary> /// <param name="activity">Activity</param> public virtual void UpdateActivity(CrmActivity activity) { if (activity == null) { throw new ArgumentNullException(nameof(activity)); } _activityRepository.Update(activity); }
/// <summary> /// Marks activity as deleted /// </summary> /// <param name="activity">Activity</param> public virtual void DeleteActivity(CrmActivity activity) { if (activity == null) { throw new ArgumentNullException(nameof(activity)); } activity.IsDelete = true; UpdateActivity(activity); }