Beispiel #1
0
        public string SaveUpdateEvent(EventModel model)
        {
            string          msg = "";
            ShomaRMEntities db  = new ShomaRMEntities();
            DateTime        dt  = DateTime.Parse(model.EventTimeString != null ? model.EventTimeString : "00:00");

            TimeSpan time   = dt.TimeOfDay;
            int      userid = ShomaRM.Models.ShomaGroupWebSession.CurrentUser != null ? ShomaRM.Models.ShomaGroupWebSession.CurrentUser.UserID : 0;

            if (model.EventID == 0)
            {
                var saveEvent = new tbl_Event()
                {
                    EventName     = model.EventName,
                    PropertyID    = model.PropertyID,
                    EventDate     = model.EventDate,
                    Photo         = model.Photo,
                    Description   = model.Description,
                    CreatedByID   = userid,
                    CreatedByDate = DateTime.Now.Date,
                    Type          = model.Type,

                    EventTime = time,
                    Fees      = model.Fees
                };
                db.tbl_Event.Add(saveEvent);
                db.SaveChanges();
                msg = "Event Save Successfully";
            }
            else
            {
                string PhotoName    = "";
                var    GetEventData = db.tbl_Event.Where(p => p.EventID == model.EventID).FirstOrDefault();
                PhotoName = GetEventData.Photo;
                if (PhotoName != model.Photo && model.Photo != "")
                {
                    PhotoName = model.Photo;
                }
                if (GetEventData != null)
                {
                    GetEventData.EventName   = model.EventName;
                    GetEventData.PropertyID  = model.PropertyID;
                    GetEventData.EventDate   = model.EventDate;
                    GetEventData.Photo       = PhotoName;
                    GetEventData.Description = model.Description;
                    GetEventData.Type        = model.Type;
                    GetEventData.EventTime   = time;
                    GetEventData.Fees        = model.Fees;
                    //GetEventData.CreatedByID = ShomaRM.Models.ShomaGroupWebSession.CurrentUser.UserID;
                    //GetEventData.CreatedByDate = DateTime.Now.Date;
                    db.SaveChanges();
                    msg = "Event Updated Successfully";
                }
            }
            db.Dispose();
            return(msg);
        }
Beispiel #2
0
        /// <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;
        }
Beispiel #3
0
        /// <summary>
        /// This function add/edit event
        /// </summary>
        /// <param name="eventDetails"></param>
        /// <returns></returns>
        public List<int> AddEditEvent(Event eventDetails)
        {
            var response = new List<int>();
            var context = new dbDataContext();
            // Create or retrieve the event
            var eventItem = context.tbl_Events.FirstOrDefault(t => t.EventId == eventDetails.EventId) ?? new tbl_Event();
            int eventId;


            // if new event, check for recurrence pattern
            if (eventDetails.RecPattern != null)
            {
                //add recurrence pattern
                var recPattern = new tbl_EventRecurrence
                {
                    Interval = eventDetails.RecPattern.Interval,
                    EndsOn = Convert.ToDateTime(eventDetails.RecPattern.EndsOn),
                    Repeats = eventDetails.RecPattern.Repeats,
                    StartDate = Convert.ToDateTime(eventDetails.RecPattern.StartDate),
                    Summary = eventDetails.RecPattern.Summary
                };
                // save the rec pattern
                context.tbl_EventRecurrences.InsertOnSubmit(recPattern);
                context.SubmitChanges();
                // Recurrence id
                eventDetails.RecurrenceId = recPattern.RecurrenceId;
                // Create the occurrences
                var recEndDate = Convert.ToDateTime(eventDetails.RecPattern.EndsOn).AddDays(1);
                recEndDate = new DateTime(recEndDate.Year, recEndDate.Month, recEndDate.Day, 0, 0, 0);

                var recStartDate = Convert.ToDateTime(eventDetails.RecPattern.StartDate);
                var startDate = recStartDate;
                var daySpan = (Convert.ToDateTime(eventDetails.EndDate) - Convert.ToDateTime(eventDetails.StartDate)).Days;
                var endDate = startDate.AddDays(daySpan);

                var count = 0;
                while (recEndDate > startDate && recEndDate >= endDate)
                {

                    var newEvent = eventDetails;
                    newEvent.StartDate = new Utils().GetUkDate(startDate);
                    newEvent.EndDate = new Utils().GetUkDate(endDate);
                    //create the events for rec pattern
                    if (count != 0)
                    {
                        //for all the occurrences except first one set the event id  to 0 - happens only when user added a recurrence to existing appointment 
                        eventItem = new tbl_Event();
                    }
                    eventId = SaveEvent(ref context, eventItem, newEvent);
                    response.Add(eventId);
                    //next event
                    switch (eventDetails.RecPattern.Repeats)
                    {
                        case "days":
                            startDate = startDate.AddDays(eventDetails.RecPattern.Interval);
                            break;
                        case "weeks":
                            startDate = startDate.AddDays(eventDetails.RecPattern.Interval * 7);
                            break;
                        case "months":
                            startDate = startDate.AddMonths(eventDetails.RecPattern.Interval);
                            break;
                        case "years":
                            startDate = startDate.AddYears(eventDetails.RecPattern.Interval);
                            break;
                    }
                    endDate = startDate.AddDays(daySpan);
                    count += 1;
                }
                return response;
            }

            eventId = SaveEvent(ref context, eventItem, eventDetails);
            response.Add(eventId);
            return response;
        }
 partial void Deletetbl_Event(tbl_Event instance);
 partial void Updatetbl_Event(tbl_Event instance);
 partial void Inserttbl_Event(tbl_Event instance);