コード例 #1
0
ファイル: Events.cs プロジェクト: ChinmayaBadri/Registration
 /// <summary>
 /// get event details
 /// </summary>
 /// <param name="Id"> event id </param>
 /// <returns> event model </returns>
 public EventsModel GetEventDetails(string Id)
 {
     using (var _ctx = new ChinmayaEntities())
     {
         EventsModel emm    = new EventsModel();
         Event       emData = _ctx.Events.Where(e => e.Id == Id).FirstOrDefault();
         if (emData != null)
         {
             emm.Id          = emData.Id;
             emm.Name        = emData.Name;
             emm.Description = emData.Description;
             emm.WeekdayId   = emData.WeekdayId;
             emm.FrequencyId = emData.FrequencyId;
             emm.AgeFrom     = emData.AgeFrom;
             emm.AgeTo       = emData.AgeTo;
             emm.Amount      = emData.Amount;
             EventSession esessionData = _ctx.EventSessions.Where(es => es.EventId == emData.Id).FirstOrDefault();
             emm.SessionId  = esessionData.SessionId;
             emm.StartDate  = Convert.ToDateTime(esessionData.StartDate);
             emm.EndDate    = Convert.ToDateTime(esessionData.EndDate);
             emm.StartTime  = esessionData.StartTime;
             emm.EndTime    = esessionData.EndTime;
             emm.Location   = esessionData.Location;
             emm.Instructor = esessionData.Instructor;
             emm.Contact    = esessionData.Contact;
             emm.Other      = esessionData.Other;
             EventHoliday eHolidayData = _ctx.EventHolidays.Where(eh => eh.EventId == emData.Id).FirstOrDefault();
             emm.HolidayDate = eHolidayData.HolidayDate;
         }
         return(emm);
     }
 }
コード例 #2
0
ファイル: EventServer.cs プロジェクト: tuyonwu/Candlesticks
        public void Execute()
        {
            listener = new TcpListener(IPAddress.Parse("127.0.0.1"), Setting.Instance.ListenPort);
            listener.Start();
            Trace.WriteLine("EventServer listen start port: " + Setting.Instance.ListenPort);
            while (true)
            {
                try {
                    EventSession session = new EventSession(this, listener.AcceptTcpClient());
                    lock (sessions) {
                        sessions.Add(session);
                    }
                } catch (Exception e) {
                    Trace.WriteLine("EventServer stopped:" + e.Message);
                    return;
                }

/*				new Thread(new ThreadStart(() => {
 *                                      session.ReceiveLoop();
 *                                      lock(sessions) {
 *                                              sessions.Remove(session);
 *                                      }
 *                              }));*/
            }
        }
コード例 #3
0
        private static bool ManageInclude(EventSession currentSession, Event e, Track track)
        {
            if (track.IsPossibleInclude(currentSession, e.Duration))
            {
                e.Session = currentSession;
                track.Events.Add(e);

                return(true);
            }

            return(false);
        }
コード例 #4
0
        public void StopSession()
        {
            if (runningSession == null)
            {
                return;
            }

            autoLogExitCts?.Cancel();
            using (runningSession) {
                runningSession.Stop();
                SessionStopped?.Invoke(runningSession);
                runningSession = null;
            }
        }
コード例 #5
0
        public async Task StopSessionAsync()
        {
            if (runningSession == null)
            {
                return;
            }

            autoLogExitCts?.Cancel();
            using (runningSession) {
                await Task.Run(() => runningSession.Stop());

                SessionStopped?.Invoke(runningSession);
                runningSession = null;
            }
        }
コード例 #6
0
        public bool IsPossibleInclude(EventSession session, int eventDuration)
        {
            var duration = this.DurationSession(session);

            if (session == EventSession.Morning)
            {
                return(duration <= MORNING_SESSION_DURATION &&
                       duration + eventDuration <= MORNING_SESSION_DURATION);
            }
            else
            {
                return(duration <= AFTERNOON_SESSION_DURATION &&
                       duration + eventDuration <= AFTERNOON_SESSION_DURATION);
            }
        }
コード例 #7
0
        public async Task <EventSession> StartSessionAsync(TraceProfileDescriptor descriptor)
        {
            if (runningSession != null)
            {
                throw new InvalidOperationException("Session already in progress.");
            }

            var traceLog = new TraceLog();
            var session  = new EventSession(descriptor, traceLog);

            SessionStarting?.Invoke(traceLog);

            await session.StartAsync();

            runningSession = session;
            SessionStarted?.Invoke(runningSession);
            return(session);
        }
コード例 #8
0
ファイル: DEServer.Events.cs プロジェクト: s72785/des
 private void RemoveEventSession(EventSession eventSession)
 => eventSessions.Remove(eventSession);
コード例 #9
0
ファイル: DEServer.Events.cs プロジェクト: s72785/des
 private void AddEventSession(EventSession eventSession)
 => eventSessions.Add(eventSession);
コード例 #10
0
ファイル: Events.cs プロジェクト: dineshcesltd/Registration
        /// <summary>
        /// adds event
        /// </summary>
        /// <param name="ev"> Event Model </param>
        public void PostEvent(EventsModel ev)
        {
            using (var _ctx = new ChinmayaEntities())
            {
                var config = new MapperConfiguration(cfg =>
                {
                    cfg.CreateMap <EventsModel, Event>();
                });
                IMapper mapper = config.CreateMapper();

                var eve = new Event
                {
                    Id          = Guid.NewGuid().ToString(),
                    Name        = ev.Name,
                    Description = ev.Description,
                    WeekdayId   = ev.WeekdayId,
                    FrequencyId = ev.FrequencyId,
                    AgeFrom     = ev.AgeFrom,
                    AgeTo       = ev.AgeTo,
                    Amount      = ev.Amount,
                    Status      = true,
                    CreatedBy   = ev.CreatedBy,
                    CreatedDate = DateTime.Now
                };

                var evs = new EventSession
                {
                    EventId    = eve.Id,
                    SessionId  = ev.SessionId,
                    StartDate  = ev.StartDate,
                    EndDate    = ev.EndDate,
                    StartTime  = ev.StartTime,
                    EndTime    = ev.EndTime,
                    Location   = ev.Location,
                    Instructor = ev.Instructor,
                    Contact    = ev.Contact,
                    Other      = ev.Other
                };


                if (ev.HolidayDate != null)
                {
                    var eHoliday = new EventHoliday
                    {
                        EventId     = eve.Id,
                        HolidayDate = ev.HolidayDate
                    };
                    _ctx.EventHolidays.Add(eHoliday);
                }
                _ctx.Events.Add(eve);
                _ctx.EventSessions.Add(evs);

                try
                {
                    _ctx.SaveChanges();
                }
                catch (DbEntityValidationException e)
                {
                    foreach (var even in e.EntityValidationErrors)
                    {
                        Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                                          even.Entry.Entity.GetType().Name, even.Entry.State);
                        foreach (var ve in even.ValidationErrors)
                        {
                            Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                                              ve.PropertyName, ve.ErrorMessage);
                        }
                    }
                }
            }
        }
コード例 #11
0
 private void RemoveEventSession(EventSession eventSession)
 {
     using (eventSessions.EnterWriteLock())
         eventSessions.Remove(eventSession);
 }         // proc RemoveEventSession
コード例 #12
0
 private void AddEventSession(EventSession eventSession)
 {
     using (eventSessions.EnterWriteLock())
         eventSessions.Add(eventSession);
 }         // proc AddEventSession
コード例 #13
0
        /// <summary>
        /// adds event
        /// </summary>
        /// <param name="ev"> Event Model </param>
        public string PostEvent(EventsModel ev)
        {
            using (var _ctx = new ChinmayaEntities())
            {
                string res = "";

                using (var transaction = _ctx.Database.BeginTransaction())
                {
                    try
                    {
                        var config = new MapperConfiguration(cfg =>
                        {
                            cfg.CreateMap <EventsModel, Event>();
                        });
                        IMapper mapper = config.CreateMapper();
                        Event   evnt   = new Event();
                        mapper.Map(ev, evnt);

                        var config1 = new MapperConfiguration(cfg =>
                        {
                            cfg.CreateMap <EventsModel, EventSession>().ForMember(dest => dest.Id, opt => opt.Ignore());
                        });
                        IMapper      mapper1 = config1.CreateMapper();
                        EventSession evntssn = new EventSession();
                        mapper1.Map(ev, evntssn);

                        var config2 = new MapperConfiguration(cfg =>
                        {
                            cfg.CreateMap <EventsModel, EventHoliday>().ForMember(dest => dest.Id, opt => opt.Ignore());
                        });
                        IMapper      mapper2 = config2.CreateMapper();
                        EventHoliday evnthld = new EventHoliday();
                        mapper2.Map(ev, evnthld);

                        if (ev.Id == null)
                        {
                            evnt.Id          = Guid.NewGuid().ToString();
                            evnt.Status      = true;
                            evnt.CreatedDate = DateTime.Now;
                            _ctx.Events.Add(evnt);
                            _ctx.SaveChanges();

                            evntssn.EventId = evnt.Id;
                            _ctx.EventSessions.Add(evntssn);
                            _ctx.SaveChanges();

                            evnthld.EventId = evnt.Id;
                            _ctx.EventHolidays.Add(evnthld);
                            _ctx.SaveChanges();

                            transaction.Commit();
                            res = "Event successfully added";
                        }
                        else
                        {
                            var rgstrusr = _ctx.EventRegistrations.Where(r => r.EventId == ev.Id).FirstOrDefault();
                            if (rgstrusr == null)
                            {
                                evnt             = _ctx.Events.Where(e => e.Id == ev.Id).FirstOrDefault();
                                evnt.Id          = ev.Id;
                                evnt.Name        = ev.Name;
                                evnt.Description = ev.Description;
                                evnt.WeekdayId   = ev.WeekdayId;
                                evnt.FrequencyId = ev.FrequencyId;
                                evnt.AgeFrom     = ev.AgeFrom;
                                evnt.AgeTo       = ev.AgeTo;
                                evnt.Amount      = ev.Amount;
                                evnt.Status      = true;
                                evnt.CreatedDate = ev.CreatedDate;
                                evnt.UpdatedBy   = ev.UpdatedBy;
                                evnt.UpdatedDate = DateTime.Now;
                                _ctx.SaveChanges();

                                evntssn            = _ctx.EventSessions.Where(e => e.EventId == ev.Id).FirstOrDefault();
                                evntssn.SessionId  = ev.SessionId;
                                evntssn.StartDate  = ev.StartDate;
                                evntssn.EndDate    = ev.EndDate;
                                evntssn.StartTime  = ev.StartTime;
                                evntssn.EndTime    = ev.EndTime;
                                evntssn.Location   = ev.Location;
                                evntssn.Instructor = ev.Instructor;
                                evntssn.Contact    = ev.Contact;
                                evntssn.Other      = ev.Other;
                                _ctx.SaveChanges();

                                evnthld             = _ctx.EventHolidays.Where(e => e.EventId == ev.Id).FirstOrDefault();
                                evnthld.HolidayDate = ev.HolidayDate;
                                _ctx.SaveChanges();

                                transaction.Commit();
                                res = "Event successfully edited";
                            }
                            else
                            {
                                res = "Users already registered for the Event";
                            }
                        }
                    }

                    catch
                    {
                        transaction.Rollback();
                        throw;
                    }
                }
                return(res);
            }
        }
コード例 #14
0
 private int DurationSession(EventSession session)
 {
     return(this.Events.Where(e => e.Session == session)
            .Sum(e => e.Duration));
 }