/// <summary> /// Updates the employee /// </summary> /// <param name="employee">Employee</param> public virtual void UpdateEmployee(SmEmployee employee) { if (employee == null) { throw new ArgumentNullException(nameof(employee)); } _employeeRepository.Update(employee); }
/// <summary> /// Marks employee as deleted /// </summary> /// <param name="employee">Employee</param> public virtual void DeleteEmployee(SmEmployee employee) { if (employee == null) { throw new ArgumentNullException(nameof(employee)); } employee.IsDelete = true; UpdateEmployee(employee); }
private static void CreateNewCalendar(ILog logger, CalendarService service, SmEmployee smEmployee) { string calendarId = IsFacebookCalendarType() ? smEmployee.Facebook : smEmployee.Email; var newCalendar = new Google.Apis.Calendar.v3.Data.Calendar() { Summary = $"[{smEmployee.EmpNo}] {smEmployee.EmpFirstName} {smEmployee.EmpLastName} ({smEmployee.EmpNickName})", Location = $"{smEmployee.AddrLine} แขวง{smEmployee.SubDistrict} เขต{smEmployee.District} จังหวัด{smEmployee.Province} {smEmployee.PostCode}", TimeZone = GetTimeZone(), Id = calendarId }; CalendarsResource.InsertRequest insertCalendar = service.Calendars.Insert(newCalendar); try { insertCalendar.Execute(); } catch (Exception e) { logger.Error($"Insert Calendar:{smEmployee.Email} Error:{e.Message}{e.StackTrace}"); } }
private static void UpdateNewEvent(CalendarService service, string calendarId, SmEmployee employee, CrmActivityDto activity, List <EventAttendee> eventAttendees, string eventId, ILog logger, string notes) { var overrides = new List <EventReminder>(); if (GetEventReminderEmail()) { overrides.Add(new EventReminder { Method = "email", Minutes = GetEventReminderEmailMinutes() }); } if (GetEventReminderSMS()) { overrides.Add(new EventReminder { Method = "sms", Minutes = GetEventReminderSMSMinutes() }); } string summary = $"{activity.Topic} [ความสำคัญ:{activity.PriorityEnumName}][สถานะ:{activity.StatusEnumName}] ".Replace(System.Environment.NewLine, string.Empty); var endDateTime = activity.EndDateTime == null ? activity.StartDateTime : activity.EndDateTime.Value; Event newEvent = new Event() { ICalUID = activity.ActivityId, Summary = summary, Location = activity.RelateActName, Description = activity.Detail, Created = activity.ModifiedDate, ColorId = GetPriorityColor(activity.PriorityEnumName), Status = GetStatus(activity.StatusEnumName), Start = new EventDateTime() { DateTime = activity.StartDateTime, TimeZone = GetTimeZone(), }, End = new EventDateTime() { DateTime = endDateTime, TimeZone = GetTimeZone(), }, Updated = DateTime.Now, Attendees = eventAttendees, Visibility = "default", Organizer = new Event.OrganizerData { Email = employee.Facebook, DisplayName = $"{employee.EmpFirstName} {employee.EmpLastName}", }, Reminders = new Event.RemindersData() { UseDefault = false, Overrides = overrides }, ConferenceData = new ConferenceData { Notes = notes } }; EventsResource.UpdateRequest updateRequest = service.Events.Update(newEvent, calendarId, eventId); try { Event updatedEvent = updateRequest.Execute(); logger.Info($"CalendarId:{calendarId} Event Id:{newEvent.ICalUID} has been updated successful."); } catch (Exception e) { logger.Error($"Update Event Id:{newEvent.ICalUID} CalendarId:{calendarId} Error:{e.Message}{e.StackTrace}"); } }
private static void CreateOrUpdateEventsToGoogleCalendar(ILog logger, CalendarService service, SmEmployee item, IActivityService activityService, string calendarId) { var activities = activityService.GetActivityByOwner(item.EmpId, CheckMinutesModifiedDate(), GetBeforeMinutesModifiedDate()); foreach (var activity in activities) { var followers = activityService.GetEmailsFollowID(activity.ActivityId); var notes = GetNotes(activityService, activity.ActivityId); string eventId = FindEventId(logger, service, calendarId, activity.ActivityId); if (!string.IsNullOrEmpty(eventId)) { UpdateNewEvent(service, calendarId, item, activity, followers, eventId, logger, notes); } else { CreateNewEvent(service, calendarId, item, activity, followers, logger, notes); } } }