/// <summary> /// This function saves the events /// </summary> /// <param name="context"></param> /// <param name="eventItem"></param> /// <param name="eventDetails"></param> /// <returns></returns> private int SaveEvent(ref dbDataContext context, tbl_Event eventItem, Event eventDetails) { // Assign event values eventItem.EventTypeId = eventDetails.EventTypeId; eventItem.MainType = eventDetails.MainType; eventItem.Title = eventDetails.Title; eventItem.Location = eventDetails.Location; eventItem.Description = eventDetails.Description; eventItem.StartDate = Convert.ToDateTime(eventDetails.StartDate); eventItem.EndDate = Convert.ToDateTime(eventDetails.EndDate); if (!eventDetails.IsDayEvent) { //start date var minute = string.IsNullOrEmpty(eventDetails.StartTime) ? 0 : (int.Parse(eventDetails.StartTime.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[0])); var second = string.IsNullOrEmpty(eventDetails.StartTime) ? 0 : (int.Parse(eventDetails.StartTime.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[1])); eventItem.StartDate = new DateTime(eventItem.StartDate.Year, eventItem.StartDate.Month, eventItem.StartDate.Day, minute, second, 0); //end date minute = string.IsNullOrEmpty(eventDetails.EndTime) ? 0 : int.Parse(eventDetails.EndTime.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[0]); second = string.IsNullOrEmpty(eventDetails.EndTime) ? 0 : int.Parse(eventDetails.EndTime.Split(new[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[1]); eventItem.EndDate = new DateTime(eventItem.EndDate.Year, eventItem.EndDate.Month, eventItem.EndDate.Day, minute, second, 0); } eventItem.UserId = eventDetails.UserId; eventItem.ClientId = eventDetails.Client != null ? eventDetails.Client.id : 0; eventItem.ClientCandidateId = eventDetails.ClientContact != null ? eventDetails.ClientContact.id : 0; eventItem.VacancyId = eventDetails.Vacancy != null ? eventDetails.Vacancy.id : 0; eventItem.RecurrenceId = eventDetails.RecurrenceId; eventItem.Completed = eventDetails.Completed; eventItem.Outcome = eventDetails.Outcome; eventItem.OutcomeNotes = eventDetails.OutcomeNotes; eventItem.Deleted = eventDetails.Deleted; eventItem.LastUpdatedDate = DateTime.Now; eventItem.LastUpdatedBy = eventDetails.LastUpdatedBy; eventItem.AllDayEvent = eventDetails.IsDayEvent; eventItem.Locked = eventDetails.Locked; // Add/Update Event if (eventItem.EventId <= 0) { if (eventItem.MainType.Equals("Task")) { eventItem.UserId = eventDetails.LastUpdatedBy; } eventItem.CreatedBy = eventDetails.LastUpdatedBy; eventItem.CreatedDate = DateTime.Now; context.tbl_Events.InsertOnSubmit(eventItem); } context.SubmitChanges(); // add contacts if (eventItem.EventId > 0) { // delete existing var contacts = context.tbl_EventContacts.Where(t => t.EventId == eventItem.EventId).ToList(); if (contacts.Count > 0) { context.tbl_EventContacts.DeleteAllOnSubmit(contacts); context.SubmitChanges(); } // add new event contact if (eventDetails.Contacts != null) { foreach (var contact in eventDetails.Contacts) { var eventContact = new tbl_EventContact { EventId = eventItem.EventId, CandidateId = contact.id }; context.tbl_EventContacts.InsertOnSubmit(eventContact); } context.SubmitChanges(); } return eventItem.EventId; } return -1; }
partial void Updatetbl_EventContact(tbl_EventContact instance);
partial void Deletetbl_EventContact(tbl_EventContact instance);
partial void Inserttbl_EventContact(tbl_EventContact instance);