public ActionResult Create(EventViewModel model, HttpPostedFileBase upload)
        {
            if (this.ModelState.IsValid)
            {
                var eventToAdd = new Event
                {
                    Title = model.Title,
                    Description = HttpUtility.HtmlDecode(model.Description),
                    CreatorId = this.User.Identity.GetUserId()
                };

                if (upload != null && upload.ContentLength > 0)
                {
                    var photo = new Data.Models.File
                    {
                        FileName = Path.GetFileName(upload.FileName),
                        FileType = FileType.Photo,
                        ContentType = upload.ContentType
                    };

                    using (var reader = new BinaryReader(upload.InputStream))
                    {
                        photo.Content = reader.ReadBytes(upload.ContentLength);
                    }

                    eventToAdd.Photo = photo;
                    this.events.Add(eventToAdd);
                }

                return this.RedirectToAction("Index");
            }

            return this.View(model);
        }
Example #2
0
        public ActionResult AllEvents()
        {
            var allEvents = context.Events.ToList();
            var allEventsViewModel = new List<EventViewModel>();

            foreach (var sportEvent in allEvents)
            {
                var eventViewModel = new EventViewModel();
                eventViewModel.Title = sportEvent.Title;
                allEventsViewModel.Add(eventViewModel);
            }

            return View(allEventsViewModel);
        }
        public ActionResult Show(string token, string email, string name)
        {
            UserCredential credential;
            var listOfEvents = new List<EventViewModel>();
            var json = JsonParser();

            ClientSecrets cs = new ClientSecrets()
            {
                ClientId = json["installed"]["client_id"].ToString(),
                ClientSecret = json["installed"]["client_secret"].ToString()
            };

            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(cs, Scopes, "user", CancellationToken.None).Result;

            credential.Token.AccessToken = token;

            // Create Google Calendar API service.
            var service = new CalendarService(new BaseClientService.Initializer()
            {
                HttpClientInitializer = credential,
                ApplicationName = ApplicationName,
            });

            // Define parameters of request.
            EventsResource.ListRequest request = service.Events.List("primary");
            request.TimeMin = DateTime.Now;
            request.ShowDeleted = false;
            request.SingleEvents = true;
            request.MaxResults = 10;
            request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime;

            // List events.
            Events events = request.Execute();
            if (events.Items != null && events.Items.Count > 0)
            {
                foreach (var eventItem in events.Items)
                {
                    var eventName = (string.IsNullOrEmpty(eventItem.Summary)) ? "No Title" : eventItem.Summary;
                    var userEvent = new EventViewModel(eventName, eventItem.Start.DateTime, eventItem.End.DateTime);

                    listOfEvents.Add(userEvent);
                }
            }

            ViewData["Events"] = listOfEvents;
            ViewData["Email"] = email;
            ViewData["Name"] = name;

            return View();
        }
        /// <summary>
        /// Gets a collection of calendar events.
        /// </summary>
        /// <returns>A collection of all calendar events.</returns>
        internal async Task<List<EventViewModel>> GetCalendarEventsAsync()
        {
            // Make sure we have a reference to the Exchange client
            var exchangeClient = await AuthenticationHelper.GetOutlookClientAsync(_calendarCapability);

            List<EventViewModel> returnResults = new List<EventViewModel>();

            var eventsResults = await exchangeClient.Me.Calendar.Events.OrderBy(e => e.Start).ExecuteAsync();
            foreach (IEvent calendarEvent in eventsResults.CurrentPage)
            {
                IEvent thisEvent = await GetEventDetailsAsync(calendarEvent.Id);
                EventViewModel calendarEventModel = new EventViewModel(thisEvent);
                returnResults.Add(calendarEventModel);
            }
            return returnResults;
        }
Example #5
0
        public EventDTO(EventViewModel ev)
        {
            if (ev != null)
            {
                this.EventId = ev.EventId;
                this.Name = ev.Name;
                this.Latitude = ev.Latitude;
                this.Longitude = ev.Longitude;
                this.Sport = ev.Sport;
                this.Individual = ev.Individual;
                this.StartDate = ev.StartDate;
                this.EndDate = ev.EndDate;

                if (ev.AthleteIds != null && ev.AthleteIds.Count > 0)
                {
                    this.AthleteIds = new List<decimal>();

                    foreach (var ath in ev.AthleteIds)
                        this.AthleteIds.Add(ath);
                }

                if (ev.TeamIds != null && ev.TeamIds.Count > 0)
                {
                    this.TeamIds = new List<decimal>();

                    foreach (var team in ev.TeamIds)
                        this.TeamIds.Add(team);
                }

                if (ev.UserIds != null && ev.UserIds.Count > 0)
                {
                    this.UserIds = new List<decimal>();

                    foreach (var user in ev.UserIds)
                        this.UserIds.Add(user);
                }
            }
        }
Example #6
0
        public async Task UpdateAsync(EventViewModel model)
        {
            if (model.IsDeleted)
            {
                await _repo.Events.DeleteAndSaveAsync(model.Id);

                var eventTeams = _repo.EventTeams.Where(m => m.EventId == model.Id).ToList();
                await _repo.EventTeams.DeleteAndSaveAsync(eventTeams);

                return;
            }

            var dbEvent = await _repo.Events.GetByIdAsync(model.Id, query => query.Include(i => i.EventTeams));

            if (dbEvent == null)
            {
                return;
            }

            if ((model.Name == null || model.Name == "") && model.EventTeams != null)
            {
                List <string> nameList = new List <string>();
                List <string> teamList = model.EventTeams.Select(i => i.TeamId).ToList();
                foreach (var team in teamList)
                {
                    var id = await _repo.Teams.Where(m => m.Id == team).FirstOrDefaultAsync();

                    nameList.Add(id.Nickname);
                }

                model.Name = String.Join(" - ", nameList);
            }

            //assign manually because the mapper removes child object tracking
            dbEvent.Name               = model.Name;
            dbEvent.SportId            = model.SportId;
            dbEvent.TimezoneId         = model.TimezoneId;
            dbEvent.DateOfEventUtc     = model.DateOfEventUtc;
            dbEvent.Location           = model.Location;
            dbEvent.PurchaseTicketsUrl = model.PurchaseTicketsUrl;

            //END OF MANUAL ASSIGNMENT//

            var deleted = model.EventTeams.Where(i => i.IsDeleted).ToList();

            foreach (var item in deleted)
            {
                _repo.EventTeams.Delete(item.Id);
            }

            //add or update teams
            foreach (var entry in model.EventTeams.Where(i => !i.IsDeleted))
            {
                var dbEntry = dbEvent.EventTeams.FirstOrDefault(i => i.Id == entry.Id);
                if (dbEntry != null)
                {
                    MapUpdateEventTeam().CreateMapper().Map(entry, dbEntry);
                }
                else
                {
                    dbEvent.EventTeams.Add(MapAdd().CreateMapper().Map <EventTeam>(entry));
                }
            }
            await _repo.SaveAsync();
        }
Example #7
0
 public async Task <Event> InsertAsync(EventViewModel model, string CurrentId)
 {
     return(await Task.Run(() => Insert(model, CurrentId)));
 }
        public void ConstructEventViewModel_WithTheCorrectData()
        {
            var campaign = new Campaign {
                Id = 1, Name = "Campaignname", TimeZoneId = "CampaignTimeZoneId"
            };
            var location = new AllReady.ViewModels.Shared.LocationViewModel {
                City = "Amsterdam"
            };
            var skills = new List <SkillViewModel> {
                new SkillViewModel {
                    Name = "F sharp"
                }
            };
            var userSkills = new List <SkillViewModel> {
                new SkillViewModel {
                    Name = "Medic", Description = "first aid helper", HierarchicalName = "med01", Id = 1
                }
            };
            var signup = new AllReady.ViewModels.Shared.TaskSignupViewModel {
                Name = "task1", TaskId = 1
            };
            var @event = new Event {
                Campaign = campaign, TimeZoneId = "EventTimeZoneId"
            };

            var sut  = new EventViewModel(@event);
            var task = new TaskViewModel {
                CampaignName = sut.CampaignName, CampaignId = sut.CampaignId, eventName = sut.Title, Name = "tasks"
            };
            var tasks = new List <TaskViewModel> {
                task
            };

            sut.Description      = "Testing the allReady from htbox";
            sut.EndDateTime      = DateTimeOffset.Now.AddDays(3650);
            sut.EventType        = EventType.Rally;
            sut.HasPrivacyPolicy = false;
            sut.Headline         = "the Already test campaing";
            sut.Id                = 1;
            sut.ImageUrl          = "http://www.htbox.org/";
            sut.IsAllowWaitList   = false;
            sut.IsClosed          = false;
            sut.IsLimitVolunteers = true;
            sut.Location          = location;
            sut.OrganizationId    = 1;
            sut.OrganizationName  = "TestOrg";
            sut.RequiredSkills    = skills;
            sut.SignupModel       = signup;
            sut.StartDateTime     = DateTimeOffset.Now.AddDays(365);
            sut.Tasks             = tasks;
            sut.TimeZoneId        = "US Mountain Standard Time";
            sut.Title             = "Test Event";
            sut.UserId            = "99";
            sut.UserSkills        = userSkills;
            sut.UserTasks         = tasks;

            Assert.Equal(sut.CampaignId, campaign.Id);
            Assert.Equal(sut.CampaignName, campaign.Name);
            Assert.Equal(sut.Location, location);
            Assert.Equal(sut.UserSkills, userSkills);
            Assert.Equal(sut.UserTasks, tasks);
            Assert.Equal(sut.SignupModel, signup);
            Assert.Equal(sut.RequiredSkills, skills);
        }
Example #9
0
        public bool Update(EventViewModel model, string CurrentId)
        {
            var data = Find(model.ID);

            if (data != null)
            {
                if (model.EventPurposeID.ToString() != "00000000-0000-0000-0000-000000000000")
                {
                    data.EventPurposeId = model.EventPurposeID;
                }
                if (model.EventTypeID.ToString() != "00000000-0000-0000-0000-000000000000")
                {
                    data.EventTypeId = model.EventTypeID;
                }
                //kiểm tra có phải update status không
                if (data.Status != model.Status)
                {
                    data.EStatusLogs.Add(new EStatusLog()
                    {
                        CreatDate        = DateTime.Now,
                        LastModifiedDate = DateTime.Now,
                        Status           = model.Status,
                        Note             = "Nhân viên " + _userRepository.Find(CurrentId).UserName + " cập nhập Status phiếu " + data.Code,
                        UserAccount      = _userRepository.Find(CurrentId),
                        Delete           = false
                    });
                }
                data.Note       = model.Note;
                data.StatusSeen = model.StatusSeen;
                data.Status     = model.Status;
                if (data.Tags != null)
                {
                    if (model.Tags != null)
                    {
                        foreach (var item in data.Tags)
                        {
                            Delete(item.Id);
                        }
                        data.Tags = new List <Tag>();
                        foreach (var item in model.Tags)
                        {
                            var t = _tagService.Find(item.ID);
                            if (t != null)
                            {
                                data.Tags.Add(t);
                            }
                        }
                    }
                }

                data.LastModifiedDate = DateTime.Now;
                data.InteractionHistories.Add(new InteractionHistory()
                {
                    Type             = "",
                    Note             = "Nhân viên " + _userRepository.Find(CurrentId).UserName + " Cập nhập phiếu " + data.Code,
                    CreatDate        = DateTime.Now,
                    LastModifiedDate = DateTime.Now,
                    UserAccount      = _userRepository.Find(CurrentId),
                    Event            = data,
                    Delete           = false
                });
            }
            return(true);
        }
Example #10
0
 public EventHandler(EventViewModel eventViewModel)
 {
     EventViewModel = eventViewModel;
 }
Example #11
0
        public JsonNetResult Edit(EventViewModel evm)
        {
            if (ModelState.IsValid)
            {
                Event e = this.eventTasks.GetEvent(evm.Id);
                if (e != null)
                {
                    Mapper.Map <EventViewModel, Event>(evm, e);
                    if (!string.IsNullOrEmpty(evm.ViolationIds))
                    {
                        string[] ids = evm.ViolationIds.Split(',');
                        e.Violations.Clear();
                        foreach (string id in ids)
                        {
                            int result;
                            if (int.TryParse(id, out result))
                            {
                                Violation v = this.eventTasks.GetViolation(result);
                                if (v != null)
                                {
                                    e.Violations.Add(v);
                                }
                            }
                        }
                    }
                    e.Location            = this.locationTasks.GetLocation(evm.LocationId.Value);
                    e.EventVerifiedStatus = evm.EventVerifiedStatusId.HasValue ? this.eventTasks.GetEventVerifiedStatus(evm.EventVerifiedStatusId.Value) : null;
                    e.Tags.Clear();
                    if (!string.IsNullOrEmpty(evm.TagIds))
                    {
                        string[] ids = evm.TagIds.Split(',');
                        foreach (string id in ids)
                        {
                            int result;
                            if (int.TryParse(id, out result))
                            {
                                Tag t = this.eventTasks.GetTag(result);
                                if (t != null)
                                {
                                    e.Tags.Add(t);
                                }
                            }
                        }
                    }
                    e.JhroCases.Clear();
                    if (!string.IsNullOrEmpty(evm.JhroCaseIds))
                    {
                        string[] ids = evm.JhroCaseIds.Split(',');
                        foreach (string id in ids)
                        {
                            int result;
                            if (int.TryParse(id, out result))
                            {
                                JhroCase jc = this.sourceTasks.GetJhroCase(result);
                                if (jc != null)
                                {
                                    e.AddJhroCase(jc);
                                }
                            }
                        }
                    }
                    e = this.eventTasks.SaveEvent(e);

                    return(JsonNet(string.Empty));
                }
                Response.StatusCode = (int)HttpStatusCode.NotFound;
                return(JsonNet("Event not found."));
            }
            else
            {
                return(JsonNet(this.GetErrorsForJson()));
            }
        }
Example #12
0
        public async Task <EventViewModel> GetVendorEvent(int Eventid, int vID)
        {
            try
            {
                var            itm = _context.Event.Where(i => i.EventId == Eventid && i.IsDeleted == false).FirstOrDefault();
                EventViewModel obj = new EventViewModel();
                obj.EventId     = itm.EventId;
                obj.Name        = itm.Name;
                obj.StatusId    = itm.StatusId;
                obj.StatusName  = _context.EventStatusType.Find(itm.StatusId).StatusName;
                obj.CorporateId = itm.CreatedBy;
                obj.CreatedUser = await GetUser(Convert.ToInt32(itm.CreatedBy));

                obj.EmployeeRange     = itm.EmployeeRange;
                obj.ExpectedToConduct = itm.ExpectedToConduct;
                obj.Location          = itm.Location;
                obj.CreatedOn         = itm.CreatedOn;
                obj.ScheduleType      = (itm.ScheduleTypeId != null) ? _context.ScheduleType.Find(itm.ScheduleTypeId).ScheduleTypeName : string.Empty;
                obj.ScheduleTypeId    = itm.ScheduleTypeId;

                List <EventDetailsViewModel> _dataList = new List <EventDetailsViewModel>();
                var itm1 = await _context.EventDetails.Where(i => i.EventId == Eventid && i.IsDeleted == false).ToListAsync();

                if (itm1 != null && itm1.Count > 0)
                {
                    foreach (var k in itm1)
                    {
                        EventDetailsViewModel _data = new EventDetailsViewModel();
                        _data.EventDetailsId = k.EventDetailsId;
                        var itm2 = await _context.VendorInvitation.Where(i => i.EventDetailsId == k.EventDetailsId && i.VendorId == vID && i.IsDeleted == false).FirstOrDefaultAsync();

                        if (itm2 != null)
                        {
                            _data.EventSubTypeId    = k.EventSubTypeId;
                            _data.EventSubType      = (k.EventSubTypeId == null) ? string.Empty : _context.EventSubType.Find(k.EventSubTypeId).SubTypeName;
                            _data.EventTypeId       = k.EventTypeId;
                            _data.EventType         = (k.EventTypeId == null) ? string.Empty : _context.EventType.Find(k.EventTypeId).EventTypeName;
                            _data.SurfaceTypeId     = k.SurfaceTypeId;
                            _data.SurfaceType       = "";
                            _data.EmployeeRange     = k.EmployeeRange;
                            _data.ExpectedToConduct = k.ExpectedToConduct;
                            _data.Location          = k.Location;
                            VendorInvitation _bdta = new VendorInvitation();
                            _bdta.VendorInvitationId = itm2.VendorInvitationId;
                            _bdta.EventDetailsId     = itm2.EventDetailsId;
                            _bdta.VendorId           = itm2.VendorId;
                            _bdta.StatusId           = itm2.StatusId;
                            _bdta.AdminComment       = itm2.AdminComment;
                            _bdta.VendorComment      = itm2.VendorComment;
                            _bdta.Amount             = itm2.Amount;
                            _bdta.StatusName         = _context.EventStatusType.Find(Convert.ToInt32(itm2.StatusId)).StatusName;
                            obj.VendorInvitation     = _bdta;
                            _data.VendorInvitation   = _bdta;
                            _dataList.Add(_data);
                            if (itm.StatusId == 3 && itm2.StatusId == 3)
                            {
                                obj.FinalVendorStatus = _context.EventStatusType.Find(itm.StatusId).StatusName;
                            }
                            else if (itm.StatusId == 3 && itm2.StatusId != 3)
                            {
                                obj.FinalVendorStatus = _context.EventStatusType.Find(6).StatusName;
                            }
                            else
                            {
                                obj.FinalVendorStatus = _context.EventStatusType.Find(7).StatusName;
                            }
                        }
                    }
                    obj.EventDetails = _dataList;
                }


                return(await Task.Run(() => obj));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #13
0
 public ActionResult Create(EventViewModel vm)
 {
     return(View());
 }
Example #14
0
        public async Task <EventViewModel> GetCorporateEvent(int id)
        {
            try
            {
                var            itm = _context.Event.Where(i => i.EventId == id && i.IsDeleted == false).FirstOrDefault();
                EventViewModel obj = new EventViewModel();
                obj.EventId     = itm.EventId;
                obj.Name        = itm.Name;
                obj.StatusId    = itm.StatusId;
                obj.StatusName  = _context.EventStatusType.Find(itm.StatusId).StatusName;
                obj.CorporateId = itm.CreatedBy;
                obj.CreatedUser = await GetUser(Convert.ToInt32(itm.CreatedBy));

                obj.EmployeeRange     = itm.EmployeeRange;
                obj.ExpectedToConduct = itm.ExpectedToConduct;
                obj.Location          = itm.Location;
                obj.CreatedOn         = itm.CreatedOn;
                obj.ScheduleType      = (itm.ScheduleTypeId != null) ? _context.ScheduleType.Find(itm.ScheduleTypeId).ScheduleTypeName : string.Empty;
                obj.ScheduleTypeId    = itm.ScheduleTypeId;
                List <EventDetailsViewModel> _dataList = new List <EventDetailsViewModel>();
                var itm1 = await _context.EventDetails.Where(i => i.EventId == id && i.IsDeleted == false).ToListAsync();

                if (itm1 != null && itm1.Count > 0)
                {
                    foreach (var k in itm1)
                    {
                        EventDetailsViewModel _data = new EventDetailsViewModel();
                        _data.EventDetailsId    = k.EventDetailsId;
                        _data.EventSubTypeId    = k.EventSubTypeId;
                        _data.EventSubType      = (k.EventSubTypeId == null) ? string.Empty : _context.EventSubType.Find(k.EventSubTypeId).SubTypeName;
                        _data.EventTypeId       = k.EventTypeId;
                        _data.EventType         = (k.EventTypeId == null) ? string.Empty : _context.EventType.Find(k.EventTypeId).EventTypeName;
                        _data.SurfaceTypeId     = k.SurfaceTypeId;
                        _data.SurfaceType       = "";
                        _data.EmployeeRange     = k.EmployeeRange;
                        _data.ExpectedToConduct = k.ExpectedToConduct;
                        _data.Location          = k.Location;
                        List <User> _userList = new List <User>();
                        if (obj.StatusId == 3)
                        {
                            var itm2 = await _context.VendorInvitation.Where(i => i.EventDetailsId == k.EventDetailsId && i.IsDeleted == false && i.StatusId == 3).ToListAsync();

                            if (itm2 != null && itm2.Count > 0)
                            {
                                foreach (var U in itm2)
                                {
                                    User _user = new User();
                                    _user = await GetUser(Convert.ToInt32(U.VendorId));

                                    VendorInvitation _bdta = new VendorInvitation();
                                    _bdta.VendorInvitationId = U.VendorInvitationId;
                                    _bdta.EventDetailsId     = U.EventDetailsId;
                                    _bdta.VendorId           = U.VendorId;
                                    _bdta.StatusId           = U.StatusId;
                                    _bdta.AdminComment       = U.AdminComment;
                                    _bdta.VendorComment      = U.VendorComment;
                                    _bdta.AdminAmount        = U.AdminAmount;
                                    _bdta.AdminPerc          = U.AdminPerc;
                                    _bdta.StatusName         = _context.EventStatusType.Find(Convert.ToInt32(U.StatusId)).StatusName;
                                    _user.VendorInvitation   = _bdta;
                                    _userList.Add(_user);
                                }
                                _data.Assignedser = _userList;
                            }
                        }
                        else
                        {
                            var itm2 = await _context.VendorInvitation.Where(i => i.EventDetailsId == k.EventDetailsId && i.IsDeleted == false && (i.StatusId == 5 || i.StatusId == 9)).ToListAsync();

                            if (itm2 != null && itm2.Count > 0)
                            {
                                foreach (var U in itm2)
                                {
                                    User _user = new User();
                                    _user = await GetUser(Convert.ToInt32(U.VendorId));

                                    VendorInvitation _bdta = new VendorInvitation();
                                    _bdta.VendorInvitationId = U.VendorInvitationId;
                                    _bdta.EventDetailsId     = U.EventDetailsId;
                                    _bdta.VendorId           = U.VendorId;
                                    _bdta.StatusId           = U.StatusId;
                                    _bdta.AdminComment       = U.AdminComment;
                                    _bdta.VendorComment      = U.VendorComment;
                                    _bdta.AdminAmount        = U.AdminAmount;
                                    _bdta.AdminPerc          = U.AdminPerc;
                                    _bdta.StatusName         = _context.EventStatusType.Find(Convert.ToInt32(U.StatusId)).StatusName;
                                    _user.VendorInvitation   = _bdta;
                                    _userList.Add(_user);
                                }
                                _data.Assignedser = _userList;
                            }
                        }
                        _dataList.Add(_data);
                    }
                    obj.EventDetails = _dataList;
                }


                return(await Task.Run(() => obj));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #15
0
        public async Task <List <ModelClass.EventViewModel> > GetAllByVendorId(int Id)
        {
            try
            {
                List <ModelClass.EventViewModel> _list = new List <ModelClass.EventViewModel>();
                var itm2 = await _context.VendorInvitation.Where(i => i.VendorId == Id && i.IsDeleted == false).OrderByDescending(x => x.VendorInvitationId).ToListAsync();

                if (itm2 != null && itm2.Count > 0)
                {
                    foreach (var U in itm2)
                    {
                        var itEv = await _context.EventDetails.Where(i => i.EventDetailsId == U.EventDetailsId && i.IsDeleted == false).FirstOrDefaultAsync();

                        var            itm = _context.Event.Where(i => i.EventId == itEv.EventId && i.IsDeleted == false).FirstOrDefault();
                        EventViewModel obj = new EventViewModel();
                        obj.EventId     = itm.EventId;
                        obj.Name        = itm.Name;
                        obj.StatusId    = itm.StatusId;
                        obj.StatusName  = _context.EventStatusType.Find(itm.StatusId).StatusName;
                        obj.CorporateId = itm.CreatedBy;
                        obj.CreatedUser = await GetUser(Convert.ToInt32(itm.CreatedBy));

                        obj.EmployeeRange     = itm.EmployeeRange;
                        obj.ExpectedToConduct = itm.ExpectedToConduct;
                        obj.Location          = itm.Location;
                        obj.CreatedOn         = itm.CreatedOn;
                        obj.ScheduleType      = (itm.ScheduleTypeId != null) ? _context.ScheduleType.Find(itm.ScheduleTypeId).ScheduleTypeName : string.Empty;
                        obj.ScheduleTypeId    = itm.ScheduleTypeId;
                        if (itm.StatusId == 3 && U.StatusId == 3)
                        {
                            obj.FinalVendorStatus = _context.EventStatusType.Find(itm.StatusId).StatusName;
                        }
                        else if (itm.StatusId == 3 && U.StatusId != 3)
                        {
                            obj.FinalVendorStatus = _context.EventStatusType.Find(6).StatusName;
                        }
                        else
                        {
                            obj.FinalVendorStatus = _context.EventStatusType.Find(7).StatusName;
                        }
                        VendorInvitation _bdta = new VendorInvitation();
                        _bdta.VendorInvitationId = U.VendorInvitationId;
                        _bdta.EventDetailsId     = U.EventDetailsId;
                        _bdta.VendorId           = U.VendorId;
                        _bdta.AdminComment       = U.AdminComment;
                        _bdta.VendorComment      = U.VendorComment;
                        _bdta.StatusId           = U.StatusId;
                        _bdta.Amount             = U.Amount;

                        _bdta.StatusName     = _context.EventStatusType.Find(Convert.ToInt32(U.StatusId)).StatusName;
                        obj.VendorInvitation = _bdta;
                        List <EventDetailsViewModel> _dataList = new List <EventDetailsViewModel>();
                        var itm1 = await _context.EventDetails.Where(i => i.EventId == itm.EventId && i.IsDeleted == false).ToListAsync();

                        if (itm1 != null && itm1.Count > 0)
                        {
                            foreach (var k in itm1)
                            {
                                EventDetailsViewModel _data = new EventDetailsViewModel();
                                _data.EventDetailsId    = k.EventDetailsId;
                                _data.EventSubTypeId    = k.EventSubTypeId;
                                _data.EventSubType      = (k.EventSubTypeId == null) ? string.Empty : _context.EventSubType.Find(k.EventSubTypeId).SubTypeName;
                                _data.EventTypeId       = k.EventTypeId;
                                _data.EventType         = (k.EventTypeId == null) ? string.Empty : _context.EventType.Find(k.EventTypeId).EventTypeName;
                                _data.SurfaceTypeId     = k.SurfaceTypeId;
                                _data.SurfaceType       = "";
                                _data.EmployeeRange     = k.EmployeeRange;
                                _data.ExpectedToConduct = k.ExpectedToConduct;
                                _data.Location          = k.Location;

                                var itm7 = await _context.VendorInvitation.Where(i => i.EventDetailsId == k.EventDetailsId && i.VendorId == Id && i.IsDeleted == false).OrderByDescending(x => x.VendorInvitationId).FirstOrDefaultAsync();

                                VendorInvitation _bdta1 = new VendorInvitation();
                                _bdta1.VendorInvitationId = itm7.VendorInvitationId;
                                _bdta1.EventDetailsId     = itm7.EventDetailsId;
                                _bdta1.VendorId           = itm7.VendorId;
                                _bdta1.AdminComment       = itm7.AdminComment;
                                _bdta1.VendorComment      = itm7.VendorComment;
                                _bdta1.StatusId           = itm7.StatusId;
                                _bdta1.Amount             = itm7.Amount;

                                _bdta1.StatusName      = _context.EventStatusType.Find(Convert.ToInt32(itm7.StatusId)).StatusName;
                                _data.VendorInvitation = _bdta1;
                                _dataList.Add(_data);
                            }
                            obj.EventDetails = _dataList;
                        }
                        _list.Add(obj);
                    }
                }
                return(await Task.Run(() => _list));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #16
0
        public async Task <ActionResult> Create(EventViewModel model, HttpPostedFileBase image)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new
                {
                    success = false,
                    errors = ModelState.Keys.SelectMany(k => ModelState[k].Errors)
                             .Select(m => m.ErrorMessage).ToArray()
                }));
            }

            try
            {
                string url;
                url = GetImageUrl(image, out string path);

                var create = new Event
                {
                    CreatedBy   = User.Identity.GetUserId <int>(),
                    Title       = model.Title,
                    LayoutId    = model.LayoutId,
                    ImageURL    = url,
                    Date        = model.Date.Date + model.Time.TimeOfDay,
                    Description = model.Description
                };
                await _eventService.CreateAsync(create);

                if (!string.IsNullOrEmpty(path))
                {
                    image.SaveAs(path);
                }
            }
            catch (FaultException <ServiceValidationFaultDetails> exception)
            {
                string error = exception.Message;

                if (exception.Message.Equals("Invalid date", StringComparison.OrdinalIgnoreCase))
                {
                    error = ProjectResources.ResourceErrors.EventInvalidDateError;
                }

                if (exception.Message.Equals("Attempt of creating event with a date in the past", StringComparison.OrdinalIgnoreCase))
                {
                    error = ProjectResources.ResourceErrors.PastDateError;
                }

                return(Json(new
                {
                    success = false,
                    errors = new string[] { error }
                }));
            }
            catch (FaultException exception)
            {
                return(Json(new
                {
                    success = false,
                    error = exception.Message
                }));
            }

            return(Json(new
            {
                success = true
            }));
        }
Example #17
0
        public ActionResult Index()
        {
            EventViewModel model = new EventViewModel();

            return(View(model));
        }
Example #18
0
        public async Task <IActionResult> Edit(int competitionId, int competitionInstanceId, int eventId, EventViewModel model)
        {
            if (ModelState.IsValid)
            {
                await _eventService.EditEventViewModelAsync(model);

                return(RedirectToAction("CompetitionInstance", "admin", new { competitionId, competitionInstanceId }));
            }
            return(View(model));
        }
        public IHttpActionResult Leave(int eventId)
        {
            var usr = authenticator.AuthorizeGetUser(Request, db);

            if (usr == null)
            {
                return(Unauthorized());
            }

            Event evt = db.Events.Find(eventId);

            if (evt == null)
            {
                return(NotFound());
            }

            if (evt.Guests == null)
            {
                evt.Guests = new List <Guest>();
            }

            var view = new EventViewModel(evt);

            GetGuestIds(ref view);

            int guestId = -1;

            if (!view.GuestsIds.Contains(usr.Id))
            {
                return(Json("Not a guest in this event"));
            }


            foreach (var item in evt.Guests)
            {
                var _guest = db.Guests.Find(item.Id);

                if (_guest != null)
                {
                    if (_guest.UserId == usr.Id)
                    {
                        guestId = _guest.Id;
                    }
                }
            }

            Guest guest = db.Guests.Find(guestId);

            if (guest == null)
            {
                return(Json("Already left or something went wrong"));
            }

            if (evt.Guests.Contains(guest))
            {
                evt.Guests.Remove(guest);
            }

            db.SaveChanges();

            view = new EventViewModel(evt);
            GetGuestIds(ref view);
            return(Ok(view));
        }
        public IHttpActionResult PostEvent(EventViewModel idevent)
        {
            EventViewModel eventModel = null;
            bool           am_going   = true;
            GoingViewModel am_i_going = new GoingViewModel();

            string         num_of_going = string.Format("select IDUser from Going where IDEvent = {0}", idevent.EventID);
            int            count        = 0;
            EventViewModel e            = new EventViewModel();

            using (SqlConnection conn = new SqlConnection("data source=DESKTOP-VKPMS9H;initial catalog=EventPlannerDB;integrated security=True;multipleactiveresultsets=True"))
            {
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(num_of_going, conn))
                {
                    using (var rd = cmd.ExecuteReader())
                    {
                        while (rd.Read())
                        {
                            count++;
                        }
                    }
                }
                conn.Close();
            }
            using (db)
            {
                IList <GoingViewModel> goings = null;
                goings = db.Going
                         .Where(t => t.IDEvent == idevent.EventID && t.IDUser == idevent.IDUser)
                         .Include("Event")
                         .Select(t => new GoingViewModel()
                {
                    IDUser  = t.IDUser,
                    IDEvent = t.IDEvent
                }).ToList <GoingViewModel>();

                if (!goings.Any())
                {
                    am_going = false;
                }

                eventModel = db.Event
                             .Include("Location")
                             .Include("Ticket")
                             .Include("Going")
                             .Where(ev => ev.EventID == idevent.EventID)
                             .Select(ev => new EventViewModel()
                {
                    EventID          = ev.EventID,
                    Title            = ev.Title,
                    Starting         = ev.Starting,
                    Ending           = ev.Ending,
                    Ticket           = ev.Ticket,
                    Adresse          = ev.Adresse,
                    latitude         = ev.latitude,
                    longitude        = ev.longitude,
                    NumberOfGoing    = count,
                    IsLoginUserGoing = am_going,
                    IDUser           = ev.IDUser
                }).FirstOrDefault <EventViewModel>();
            }

            //User user = db.User.Find(id);

            if (eventModel == null)
            {
                return(NotFound());
            }

            return(Ok(eventModel));
        }
Example #21
0
 public Event MapEvent(EventViewModel model)
 {
     return(model.EventType.Equals("RangeEvent", StringComparison.InvariantCultureIgnoreCase)
         ? MapEventWithParameters <RangeEvent>(model)
         : _mapper.Map <EventViewModel, Event>(model));
 }
        public IActionResult UpdateEvent(EventViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(View(vm));
            }

            if (vm.Date < DateTime.Now)
            {
                ModelState.AddModelError("Date", "Data wydarzenia musi być przyszła");
                return(View(vm));
            }

            var eventToUpdate = _db.Events.Include(e => e.Address).FirstOrDefault(e => e.EventId == vm.EventId);

            if (eventToUpdate == null)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventNotExists));
            }

            if (eventToUpdate.Date < DateTime.Now.AddMinutes(1))
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventDatePassed));
            }

            Address address = null;

            if (!(eventToUpdate.Address.City == vm.City && eventToUpdate.Address.Street == vm.Street && eventToUpdate.Address.BuildingNumber == vm.BuildingNumber && eventToUpdate.Address.ApartmentNumber == vm.ApartmentNumber && eventToUpdate.Address.PostalCode == vm.PostalCode))
            {
                address = new Address
                          (
                    vm.City,
                    vm.Street,
                    vm.BuildingNumber,
                    vm.ApartmentNumber,
                    vm.PostalCode
                          );

                var existingAddress = _db.Addresses.FirstOrDefault(a =>
                                                                   a.City == address.City &&
                                                                   a.Street == address.Street &&
                                                                   a.BuildingNumber == address.BuildingNumber &&
                                                                   a.ApartmentNumber == address.ApartmentNumber &&
                                                                   a.PostalCode == address.PostalCode
                                                                   );

                if (existingAddress != null)
                {
                    address = existingAddress;
                }
            }

            string relativePath = eventToUpdate.ImageRelativePath;

            if (vm.FormFile != null)
            {
                try
                {
                    _formFilesManagement.DeleteWholeEventFolder(vm.EventId);
                }
                catch (DirectoryNotFoundException) { } // stock files

                relativePath = _formFilesManagement.SaveFileToFileSystem(vm.FormFile, vm.EventId);
            }

            eventToUpdate.UpdateEvent(vm.Name, vm.Date, vm.Description, vm.RequiredPoints, vm.Tags, address, relativePath);
            _db.Events.Update(eventToUpdate);
            _db.SaveChanges();

            return(RedirectToAction("EventsList"));
        }
Example #23
0
 public EventView()
 {
     InitializeComponent();
     DataContext = new EventViewModel();
 }
Example #24
0
        public void AddPerformanceReviewMeeting(EventViewModel eventData, int Userid, int OrganizationId)
        {
            Event evenT = Mapper.Map <EventDataModel, Event>(eventData.EventDataModel);

            evenT.AddedBy = Userid;
            if (evenT.EventID == 0)
            {
                evenT.OrganizationID = OrganizationId;
                base.Insert(evenT);
                _unitOfWork.Save();
                //setting parent event id with all the events for recurring events
                base.RepositoryContext.SP_SetParentEventId(eventData.EventDataModel.Reviewee, OrganizationId, evenT.EventID);
                if (eventData.IsAppointmnet)
                {
                    Appointment appointment = new Appointment();
                    appointment.EventId        = evenT.EventID;
                    appointment.Event          = evenT;
                    appointment.OrganizationID = OrganizationId;
                    this._IAppointmentRepository.Add(appointment, Userid, OrganizationId);
                }

                PerformanceReview review = new PerformanceReview();
                review.OrganizationID    = OrganizationId;
                review.EventID           = evenT.EventID;
                review.RevieweeUserID    = eventData.EventDataModel.Reviewee;
                review.RecurrencePattern = eventData.EventDataModel.RecurrencePattern;
                review.RecurrenceEndDate = eventData.EventDataModel.RecurrenceEndDate;
                if (!string.IsNullOrWhiteSpace(eventData.EventDataModel.RecurrencePattern))
                {
                    review.NextReviewDate = CommonMethods.GenerateNextDateFromCronExpression(eventData.EventDataModel.RecurrencePattern);
                }
                review.ReviewerUserID = Userid;
                this._IPerformanceReviewRepository.Add(review, Userid, OrganizationId);
                _unitOfWork.Save();
                this._IRoleResponsibilityRepository.SetRoleResponsibilityOfPerformanceReview(eventData.EventDataModel.Reviewee, review.PerformanceReviewID, OrganizationId);
            }
            else
            {
                base.Update(evenT);
                _unitOfWork.Save();
                PerformanceReview review = base.RepositoryContext.PerformanceReviews.Where(x => x.EventID == evenT.EventID).FirstOrDefault();
                review.RecurrencePattern = eventData.EventDataModel.RecurrencePattern;
                review.RecurrenceEndDate = eventData.EventDataModel.RecurrenceEndDate;
                if (!string.IsNullOrWhiteSpace(eventData.EventDataModel.RecurrencePattern))
                {
                    review.NextReviewDate = CommonMethods.GenerateNextDateFromCronExpression(eventData.EventDataModel.RecurrencePattern);
                }
                this._IPerformanceReviewRepository.Update(review, Userid, OrganizationId);
            }
            // for recuurencing event
            if (!string.IsNullOrWhiteSpace(eventData.EventDataModel.RecurrencePattern))
            {
                base.RepositoryContext.SP_DeletePerformanceReviewEvent(Userid, OrganizationId, eventData.EventDataModel.Reviewee);
                Event nextEvent = new Event();
                nextEvent.Date           = CommonMethods.GenerateNextDateFromCronExpression(eventData.EventDataModel.RecurrencePattern);
                nextEvent.EventType      = eventData.EventDataModel.EventType;
                nextEvent.EventSubType   = eventData.EventDataModel.EventSubType;
                nextEvent.StartTime      = eventData.EventDataModel.StartTime;
                nextEvent.EndTime        = eventData.EventDataModel.EndTime;
                nextEvent.OrganizationID = OrganizationId;
                nextEvent.Recurring      = true;
                nextEvent.LocationID     = eventData.EventDataModel.LocationID;
                nextEvent.AddedBy        = Userid;
                base.Insert(nextEvent);
                _unitOfWork.Save();
                base.RepositoryContext.SP_SetParentEventId(eventData.EventDataModel.Reviewee, OrganizationId, nextEvent.EventID);

                foreach (EventAttendeeDataModel model in eventData.EventAttendeeDataModel)
                {
                    var data = Mapper.Map <EventAttendeeDataModel, EventAttendee>(model);
                    data.EventID        = nextEvent.EventID;
                    data.OrganizationId = OrganizationId;
                    _IEventAttendeeRepository.Add(data, Userid, OrganizationId);
                }
            }
            if (evenT.EventID > 0)
            {
                //base.RepositoryContext.SP_DeletePerformanceReview(evenT.EventID, OrganizationId);
                base.RepositoryContext.SP_DeleteEventAgenda(evenT.EventID, OrganizationId);
                //base.RepositoryContext.SP_DeleteEventAttendees(evenT.EventID, OrganizationId);
            }



            foreach (EventAttendeeDataModel model in eventData.EventAttendeeDataModel)
            {
                var data = Mapper.Map <EventAttendeeDataModel, EventAttendee>(model);
                data.EventID        = evenT.EventID;
                data.OrganizationId = OrganizationId;
                _IEventAttendeeRepository.Add(data, Userid, OrganizationId);
            }


            foreach (AgendaDataModel model in eventData.AgendaDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <AgendaDataModel, Agendum>(model);
                data.OrganizationID = OrganizationId;
                data.CreatedDate    = DateTime.Now;
                data.RevieweeUserId = eventData.EventDataModel.Reviewee;
                _IAgendaRepository.Add(data, Userid, OrganizationId);
            }
            foreach (ObjectiveViewModel model in eventData.ObjectiveViewModel)
            {
                var data = Mapper.Map <ObjectiveViewModel, Objective>(model);
                data.SourceId        = evenT.EventID;
                data.OrganizationId  = OrganizationId;
                data.ObjectiveSource = "P";
                data.CreatedDate     = DateTime.Now;
                data.RevieweeUserId  = eventData.EventDataModel.Reviewee;
                _IObjectiveRepository.Add(data, Userid, OrganizationId);
            }
            foreach (ActionDataModel model in eventData.ActionDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <ActionDataModel, Angular2_AspDotNet.Data.Action>(model);
                if (model.ActionID == 0)
                {
                    data.CreatedDate    = DateTime.Now;
                    data.RevieweeUserId = eventData.EventDataModel.Reviewee;
                    data.OrganizationID = OrganizationId;
                    _IActionRepository.Add(data, Userid, OrganizationId);
                }
                else
                {
                    _IActionRepository.Update(data, Userid, OrganizationId);
                    base.RepositoryContext.Sp_DeleteActionResponsiblePerson(model.ActionID);
                }
                foreach (ActionResponsiblePersonDataModel resposibleModel in model.ActionResponsiblePersonDataModel)
                {
                    var childData = Mapper.Map <ActionResponsiblePersonDataModel, ActionResponsiblePerson>(resposibleModel);
                    childData.Action         = data;
                    childData.AddedBy        = LoggedInUserID;
                    childData.OrganizationId = OrganizationId;
                    _IActionResponsiblePersonRepository.Add(childData, Userid, OrganizationId);
                }
            }
            _unitOfWork.Save();
        }
Example #25
0
        public JsonNetResult Create(EventViewModel evm)
        {
            if (ModelState.IsValid)
            {
                Event e = new Event();
                Mapper.Map <EventViewModel, Event>(evm, e);
                if (!string.IsNullOrEmpty(evm.ViolationIds))
                {
                    string[] ids = evm.ViolationIds.Split(',');
                    foreach (string id in ids)
                    {
                        int result;
                        if (int.TryParse(id, out result))
                        {
                            Violation v = this.eventTasks.GetViolation(result);
                            if (v != null)
                            {
                                e.Violations.Add(v);
                            }
                        }
                    }
                }
                e.Location            = this.locationTasks.GetLocation(evm.LocationId.Value);
                e.EventVerifiedStatus = evm.EventVerifiedStatusId.HasValue ? this.eventTasks.GetEventVerifiedStatus(evm.EventVerifiedStatusId.Value) : null;
                if (!string.IsNullOrEmpty(evm.TagIds))
                {
                    string[] ids = evm.TagIds.Split(',');
                    foreach (string id in ids)
                    {
                        int result;
                        if (int.TryParse(id, out result))
                        {
                            Tag t = this.eventTasks.GetTag(result);
                            if (t != null)
                            {
                                e.Tags.Add(t);
                            }
                        }
                    }
                }
                if (!string.IsNullOrEmpty(evm.JhroCaseIds))
                {
                    string[] ids = evm.JhroCaseIds.Split(',');
                    foreach (string id in ids)
                    {
                        int result;
                        if (int.TryParse(id, out result))
                        {
                            JhroCase jc = this.sourceTasks.GetJhroCase(result);
                            if (jc != null)
                            {
                                e.AddJhroCase(jc);
                            }
                        }
                    }
                }
                e = this.eventTasks.SaveEvent(e);

                return(JsonNet(new
                {
                    Id = e.Id,
                    Name = e.Headline,
                    WasSuccessful = true
                }));
            }
            else
            {
                return(JsonNet(this.GetErrorsForJson()));
            }
        }
Example #26
0
        public ActionResult Index(EventViewModel model)
        {
            try
            {
                //List<CalendarForm> listForm = db.CalendarForms.ToList();
                //List<CalendarClassRoom> listClassRoom = db.CalendarClassRooms.ToList();
                //List<CalendarGroup> listGroup = db.CalendarGroups.ToList();
                //List<CalendarSubject> listSubject = db.CalendarSubjects.ToList();
                //List<CalendarTeacher> listTeacher = db.CalendarTeachers.ToList();

                //ViewBag.FormList = new SelectList(listForm, "FormId", "FormName");
                //ViewBag.ClassRoomList = new SelectList(listClassRoom, "ClassRoomId", "ClassRoomName");
                //ViewBag.GroupList = new SelectList(listGroup, "GroupId", "GroupName");
                //ViewBag.SubjectList = new SelectList(listSubject, "SubjectId", "SubjectName");
                //ViewBag.TeacherList = new SelectList(listTeacher, "TeacherId", "TeacherName");

                if (model.EventID > 0)
                {
                    // Update Event
                    Event ev = db.Events.SingleOrDefault(x => x.EventID == model.EventID);

                    ev.FormId      = model.FormId;
                    ev.ClassRoomId = model.ClassRoomId;
                    ev.GroupId     = model.GroupId;
                    ev.SubjectId   = model.SubjectId;
                    ev.TeacherId   = model.TeacherId;

                    ev.Start       = model.Start;
                    ev.End         = model.End;
                    ev.IsFullDay   = model.IsFullDay;
                    ev.ThemeColor  = model.ThemeColor;
                    ev.Description = model.Description;

                    db.SaveChanges();
                }
                else
                {
                    // Insert Event
                    Event ev = new Event
                    {
                        FormId      = model.FormId,
                        ClassRoomId = model.ClassRoomId,
                        GroupId     = model.GroupId,
                        SubjectId   = model.SubjectId,
                        TeacherId   = model.TeacherId,
                        Start       = model.Start,
                        End         = model.End,
                        IsFullDay   = model.IsFullDay,
                        ThemeColor  = model.ThemeColor,
                        Description = model.Description
                    };

                    int textEventId = model.EventID;

                    db.Events.Add(ev);
                    db.SaveChanges();
                }

                return(View(model));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void SetLocationToNull_WhenEventsLocationIstNull_AndConstructingWithNonNullCampaignAndNonNullManagingOrganization()
        {
            var sut = new EventViewModel(new Event());

            Assert.Null(sut.Location);
        }
Example #28
0
 public EventViewModel CastToViewModel(Event e, bool? attending)
 {
     EventViewModel eventViewModel = new EventViewModel();
     List<CommentViewModel> commentViews = new List<CommentViewModel>();
     eventViewModel.Owner = database.GetUser(e.OwnerId).DisplayName;
     eventViewModel.Event = e;
     eventViewModel.Attending = attending;
     eventViewModel.Attendees = database.GetAttendees(e.EventID);
     List<Comment> comments = database.GetComments(e.EventID);
     foreach (Comment comment in comments)
     {
         commentViews.Add(CastToViewModel(comment));
     }
     eventViewModel.CommentsViewModels = commentViews;
     if (TimeLeft(e, DateTime.Now).TotalSeconds <= 0)
     {
         eventViewModel.State = State.OFF;
         if (!e.Min.HasValue || e.Min <= eventViewModel.Attendees.Count)
         {
             eventViewModel.State = State.ON;
         }
     }
     else
     {
         eventViewModel.State = State.NOTREACHED;
         if (e.Max.HasValue && e.Max == eventViewModel.Attendees.Count)
         {
             eventViewModel.State = State.FULL;
         }
         else if (!e.Min.HasValue || e.Min <= eventViewModel.Attendees.Count)
         {
             eventViewModel.State = State.REACHED;
         }
     }
     eventViewModel.TimeCreated = DateTimeToMillis(e.CreationTime);
     return eventViewModel;
 }
Example #29
0
 public string AddEvent([FromBody] EventViewModel eventData)
 {
     this._eventRepository.AddEventData(eventData, base.UserId, base.OrganizationId);
     return("Event added successfully");
 }
Example #30
0
        public ActionResult SaveSelectedDataToTheExcelFile(EventViewModel model)
        {
            if (model.TeacherId > 0)
            {
                if (model.Start > model.End)
                {
                    List <CalendarTeacher> listTeacher = db.CalendarTeachers.ToList();
                    ViewBag.TeacherList = new SelectList(listTeacher, "TeacherId", "TeacherName");

                    return(View(model));
                }

                if (model.TeacherId > 0 && model.Start != null && model.End != null)
                {
                    var month = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(model.Start.Month);

                    List <EventViewModel> evlist = db.Events.Where(x => x.TeacherId == model.TeacherId && x.Start <= model.End && x.Start >= model.Start && x.End <= model.End && x.End >= model.Start).Select(x => new EventViewModel
                    {
                        //EventID = x.EventID,
                        FormName      = x.CalendarForm.FormName,
                        ClassRoomName = x.CalendarClassRoom.ClassRoomName,
                        GroupName     = x.CalendarGroup.GroupName,
                        SubjectName   = x.CalendarSubject.SubjectName,
                        TeacherName   = x.CalendarTeacher.TeacherName,

                        Start = x.Start,
                        End   = x.End
                    }).ToList();


                    // excel
                    ExcelPackage   pck = new ExcelPackage();
                    ExcelWorksheet ws  = pck.Workbook.Worksheets.Add("Report");

                    ws.Cells["A1"].Value = "Communication: ";
                    ws.Cells["B1"].Value = "Com1";

                    ws.Cells["A2"].Value = "Report: ";
                    ws.Cells["B2"].Value = "A Report For The Teacher";

                    ws.Cells["A3"].Value = "Date: ";
                    ws.Cells["B3"].Value = string.Format("{0:dd MMMM yyyy} at {0:H: mm tt}", DateTimeOffset.Now);


                    ws.Cells["A6"].Value = "TeacherName";
                    ws.Cells["B6"].Value = "FormName";
                    ws.Cells["C6"].Value = "ClassRoomName";
                    ws.Cells["D6"].Value = "GroupName";
                    ws.Cells["E6"].Value = "SubjectName";
                    ws.Cells["F6"].Value = "DateStart";
                    ws.Cells["G6"].Value = "DateEnd";

                    int rowStart    = 7;
                    var teacherName = string.Empty;
                    foreach (var item in evlist)
                    {
                        teacherName = item.TeacherName;
                        ws.Cells[string.Format("A{0}", rowStart)].Value = item.TeacherName;
                        ws.Cells[string.Format("B{0}", rowStart)].Value = item.FormName;
                        ws.Cells[string.Format("C{0}", rowStart)].Value = item.ClassRoomName;
                        ws.Cells[string.Format("D{0}", rowStart)].Value = item.GroupName;
                        ws.Cells[string.Format("E{0}", rowStart)].Value = item.SubjectName;
                        ws.Cells[string.Format("F{0}", rowStart)].Value = item.Start.ToShortDateString() + " " + item.Start.ToShortTimeString();
                        ws.Cells[string.Format("G{0}", rowStart)].Value = item.End.Value.ToShortDateString() + " " + item.End.Value.ToShortTimeString();
                        rowStart++;
                    }


                    ws.Cells["A:AZ"].AutoFitColumns();
                    Response.Clear();
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment; filename=" + "Report_for_" + teacherName + "_for_" + month + "_" + DateTime.Now.ToShortDateString() + ".xlsx");
                    Response.BinaryWrite(pck.GetAsByteArray());
                    Response.End();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    List <EventViewModel> evlist = db.Events.Where(x => x.TeacherId == model.TeacherId).Select(x => new EventViewModel
                    {
                        //EventID = x.EventID,
                        FormName      = x.CalendarForm.FormName,
                        ClassRoomName = x.CalendarClassRoom.ClassRoomName,
                        GroupName     = x.CalendarGroup.GroupName,
                        SubjectName   = x.CalendarSubject.SubjectName,
                        TeacherName   = x.CalendarTeacher.TeacherName,

                        Start = x.Start,
                        End   = x.End
                    }).ToList();


                    // excel
                    ExcelPackage   pck = new ExcelPackage();
                    ExcelWorksheet ws  = pck.Workbook.Worksheets.Add("Report");

                    ws.Cells["A1"].Value = "Communication: ";
                    ws.Cells["B1"].Value = "Com1";

                    ws.Cells["A2"].Value = "Report: ";
                    ws.Cells["B2"].Value = "A Report For The Teacher";

                    ws.Cells["A3"].Value = "Date: ";
                    ws.Cells["B3"].Value = string.Format("{0:dd MMMM yyyy} at {0:H: mm tt}", DateTimeOffset.Now);


                    ws.Cells["A6"].Value = "TeacherName";
                    ws.Cells["B6"].Value = "FormName";
                    ws.Cells["C6"].Value = "ClassRoomName";
                    ws.Cells["D6"].Value = "GroupName";
                    ws.Cells["E6"].Value = "SubjectName";
                    ws.Cells["F6"].Value = "DateStart";
                    ws.Cells["G6"].Value = "DateEnd";

                    int rowStart    = 7;
                    var teacherName = string.Empty;
                    foreach (var item in evlist)
                    {
                        teacherName = item.TeacherName;
                        ws.Cells[string.Format("A{0}", rowStart)].Value = item.TeacherName;
                        ws.Cells[string.Format("B{0}", rowStart)].Value = item.FormName;
                        ws.Cells[string.Format("C{0}", rowStart)].Value = item.ClassRoomName;
                        ws.Cells[string.Format("D{0}", rowStart)].Value = item.GroupName;
                        ws.Cells[string.Format("E{0}", rowStart)].Value = item.SubjectName;
                        ws.Cells[string.Format("F{0}", rowStart)].Value = item.Start.ToShortDateString() + " " + item.Start.ToShortTimeString();
                        ws.Cells[string.Format("G{0}", rowStart)].Value = item.End.Value.ToShortDateString() + " " + item.End.Value.ToShortTimeString();
                        rowStart++;
                    }


                    ws.Cells["A:AZ"].AutoFitColumns();
                    Response.Clear();
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment; filename=" + "Report_" + teacherName + "_" + DateTime.Now.ToShortDateString() + ".xlsx");
                    Response.BinaryWrite(pck.GetAsByteArray());
                    Response.End();

                    return(RedirectToAction("Index"));
                }
            }
            else
            {
                List <CalendarTeacher> listTeacher = db.CalendarTeachers.ToList();
                ViewBag.TeacherList = new SelectList(listTeacher, "TeacherId", "TeacherName");

                return(View(model));
            }
        }
Example #31
0
        public void AddEventData(EventViewModel eventData, int Userid, int OrganizationId)
        {
            Event evenT = Mapper.Map <EventDataModel, Event>(eventData.EventDataModel);

            evenT.AddedBy = Userid;
            if (evenT.EventID == 0)
            {
                evenT.OrganizationID = OrganizationId;
                base.Insert(evenT);
                if (eventData.IsAppointmnet)
                {
                    Appointment appointment = new Appointment();
                    appointment.EventId        = evenT.EventID;
                    appointment.Event          = evenT;
                    appointment.OrganizationID = OrganizationId;
                    this._IAppointmentRepository.Add(appointment, Userid, OrganizationId);
                }
            }
            else
            {
                base.Update(evenT);
            }
            _unitOfWork.Save();
            if (evenT.EventID > 0)
            {
                base.RepositoryContext.SP_DeleteEventAgenda(evenT.EventID, OrganizationId);
                base.RepositoryContext.SP_DeleteEventAttendees(evenT.EventID, OrganizationId);
            }

            foreach (EventAttendeeDataModel model in eventData.EventAttendeeDataModel)
            {
                var data = Mapper.Map <EventAttendeeDataModel, EventAttendee>(model);
                //data.Event = evenT;
                data.EventID        = evenT.EventID;
                data.OrganizationId = OrganizationId;
                _IEventAttendeeRepository.Add(data, Userid, OrganizationId);
            }
            foreach (AgendaDataModel model in eventData.AgendaDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <AgendaDataModel, Agendum>(model);
                data.OrganizationID = OrganizationId;
                _IAgendaRepository.Add(data, Userid, OrganizationId);
            }
            foreach (ActionDataModel model in eventData.ActionDataModel)
            {
                model.SourceID = evenT.EventID;
                var data = Mapper.Map <ActionDataModel, Angular2_AspDotNet.Data.Action>(model);
                if (model.ActionID == 0)
                {
                    data.OrganizationID = OrganizationId;
                    _IActionRepository.Add(data, Userid, OrganizationId);
                }
                else
                {
                    _IActionRepository.Update(data, Userid, OrganizationId);
                    base.RepositoryContext.Sp_DeleteActionResponsiblePerson(model.ActionID);
                }
                foreach (ActionResponsiblePersonDataModel resposibleModel in model.ActionResponsiblePersonDataModel)
                {
                    var childData = Mapper.Map <ActionResponsiblePersonDataModel, ActionResponsiblePerson>(resposibleModel);
                    childData.Action         = data;
                    childData.AddedBy        = LoggedInUserID;
                    childData.OrganizationId = OrganizationId;
                    _IActionResponsiblePersonRepository.Add(childData, Userid, OrganizationId);
                }
            }
            _unitOfWork.Save();
        }
Example #32
0
        public static ResultResponse Update(EventViewModel entity)
        {
            ResultResponse result = new ResultResponse();

            try
            {
                using (var db = new MarComContext())
                {
                    if (entity.Id == 0)
                    {
                        T_Event ev = new T_Event();
                        ev.Code         = entity.Code;
                        ev.Event_Name   = entity.Event_Name;
                        ev.Start_Date   = entity.Start_Date;
                        ev.End_Date     = entity.End_Date;
                        ev.Place        = entity.Place;
                        ev.Budget       = entity.Budget;
                        ev.Request_By   = entity.Request_By;
                        ev.Request_Date = entity.Request_Date;
                        ev.Note         = entity.Note;
                        ev.Is_Delete    = entity.Is_Delete;
                        ev.Status       = 1;

                        ev.Create_By   = entity.Create_By;
                        ev.Create_Date = DateTime.Now;

                        db.T_Event.Add(ev);
                        db.SaveChanges();
                    }
                    else
                    {
                        T_Event ev = db.T_Event.Where(e => e.Id == entity.Id).FirstOrDefault();
                        if (ev != null)
                        {
                            ev.Id           = entity.Id;
                            ev.Code         = entity.Code;
                            ev.Event_Name   = entity.Event_Name;
                            ev.Start_Date   = entity.Start_Date;
                            ev.End_Date     = entity.End_Date;
                            ev.Place        = entity.Place;
                            ev.Budget       = entity.Budget;
                            ev.Request_By   = entity.Request_By;
                            ev.Request_Date = entity.Request_Date;
                            ev.Note         = entity.Note;

                            ev.Update_By   = entity.Update_By;
                            ev.Update_Date = DateTime.Now;

                            db.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = ex.Message;
            }

            return(result);
        }
Example #33
0
        // GET: Person
        public ActionResult Index(string SortOrder, string option, string search, DateTime? SearchDateTime)
        {
            EventViewModel eventViewModel = new EventViewModel(); //this constructor will return an object that conains a list of all events a list of roles... see the EventViewModel class

            //did the user type in a search term?
            if (search != null && search != "" && option != null)
            {
                //determine what field they are searching; i.e. Name, Room, etc...
                if (option == "Name")
                {
                    //  1. get a list of events whose name field matches the search term
                    List<Event> matchingEvents = db.Events.Where(s => s.Name.Contains(search)).ToList();
                    //  2. replace the list of all events in the eventViewModel with the list of matching events
                    eventViewModel.Events = matchingEvents;
                }
                else if (option == "Room")
                {
                    List<Event> matchingEvents = db.Events.Where(s => s.Room.Contains(search)).ToList();
                    eventViewModel.Events = matchingEvents;
                }
                else if (option == "Date")
                {
                    List<Event> matchingEvents = new List<Event>();
                    foreach (Event e in eventViewModel.Events)
                    {
                        if (e.EventDate.ToString().Contains(search) == true)
                        {
                            matchingEvents.Add(e);
                        }
                    }
                    eventViewModel.Events = matchingEvents;
                }
                else if (option == "Start Time")
                {
                    List<Event> matchingEvents = new List<Event>();
                    foreach (Event e in eventViewModel.Events)
                    {
                        if (e.StartTime.ToString().Contains(search) == true)
                        {
                            matchingEvents.Add(e);
                        }
                    }
                    eventViewModel.Events = matchingEvents;
                }
                else if (option == "End Time")
                {
                    List<Event> matchingEvents = new List<Event>();
                    foreach (Event e in eventViewModel.Events)
                    {
                        if (e.EndTime.ToString().Contains(search) == true)
                        {
                            matchingEvents.Add(e);
                        }
                    }
                    eventViewModel.Events = matchingEvents;
                }
            }
            else
            {
                eventViewModel.Events = Event.getAll();
            }

            ViewBag.search = search;
            ViewBag.option = option;
            ViewBag.NameSortParm = SortOrder == "Name" ? "Name_desc" : "Name";
            ViewBag.RoomSortParm = SortOrder == "Room" ? "Room_desc" : "Room";
            ViewBag.DateSortParm = SortOrder == "Date" ? "Date_desc" : "Date";
            ViewBag.StartTimeSortParm = SortOrder == "StartTime" ? "StartTime_desc" : "StartTime";
            ViewBag.EndTimeSortParm = SortOrder == "EndTime" ? "EndTime_desc" : "EndTime";

            var Events = from s in eventViewModel.Events
                select s;

            switch (SortOrder)
            {
                case "Name":
                    //eventViewModel. Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.Name);
                    break;
                case "Name_desc":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderByDescending(s => s.Name);
                    break;
                case "Room":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.Room);
                    break;
                case "Room_desc":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderByDescending(s => s.Room);
                    break;
                case "Date":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.EventDate);
                    break;
                case "Date_desc":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderByDescending(s => s.EventDate);
                    break;
                case "StartTime":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.StartTime);
                    break;
                case "StartTime_desc":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderByDescending(s => s.StartTime);
                    break;
                case "EndTime":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.EndTime);
                    break;
                case "EndTime_desc":
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderByDescending(s => s.EndTime);
                    break;
                default:
                    //eventViewModel.Events = eventViewModel.Events.OrderBy(s => s.Name).ToList();
                    Events = Events.OrderBy(s => s.Name);
                    break;
            }
            //eventViewModel.Events.ToList();

            foreach (Event eve in eventViewModel.Events)
            {
                eve.Assignments = Assignment.getAssignmentsByEvent(eve.ID);

                foreach (Assignment assignment in eve.Assignments)
                {
                    Person person = new Person();
                    person = Person.getPersonByID(assignment.PersonID);
                    assignment.Person = person;

                    Role role = new Role();
                    role = Role.getRoleByID(assignment.RoleID);
                    assignment.Role = role;
                }
            }

            eventViewModel.Events = Events.ToList();

            return View(eventViewModel);
        }
        public async Task <IActionResult> Edit(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var gameEventSinglePlayer = await _context.EventsSinglePlayer
                                        .Include(g => g.Game)
                                        .Include(g => g.EventType)
                                        .Include(g => g.Player)
                                        .FirstOrDefaultAsync(m => m.Id == id);

            if (gameEventSinglePlayer != null)
            {
                var model = new EventViewModel()
                {
                    Id            = gameEventSinglePlayer.Id,
                    EventTypeId   = gameEventSinglePlayer.EventTypeId,
                    EventTypeName = gameEventSinglePlayer.EventType.Name,
                    Player1Id     = gameEventSinglePlayer.PlayerId,
                    Player1Name   = gameEventSinglePlayer.Player.Name,
                    GameId        = gameEventSinglePlayer.GameId,
                    Time          = gameEventSinglePlayer.Time,
                    IsTwoPlayer   = false
                };

                var game = gameEventSinglePlayer.Game;
                ViewData["game"] = game;

                var types = _context.EventTypes
                            .Where(x => x.SportId == game.SportId);
                var players = _context.Players
                              .Where(x => x.TeamId == game.Team1Id || x.TeamId == game.Team2Id)
                              .Include(x => x.Team)
                              .OrderBy(x => x.Name);
                ViewData["EventType"]  = new SelectList(types, "Id", "Name");
                ViewData["Players"]    = new SelectList(players, "Id", "NameAndTeam");
                ViewData["DualPlayer"] = "[\"" + String.Join("\",\"", types.Where(x => x.IsDualPlayer).Select(x => x.Name).ToList()) + "\"]";

                return(View(model));
            }

            var gameEventDualPlayer = await _context.EventsDualPlayer
                                      .Include(g => g.Game)
                                      .Include(g => g.EventType)
                                      .Include(g => g.Player1)
                                      .Include(g => g.Player2)
                                      .FirstOrDefaultAsync(m => m.Id == id);

            if (gameEventDualPlayer != null)
            {
                var model = new EventViewModel()
                {
                    Id            = gameEventDualPlayer.Id,
                    EventTypeId   = gameEventDualPlayer.EventTypeId,
                    EventTypeName = gameEventDualPlayer.EventType.Name,
                    Player1Id     = gameEventDualPlayer.Player1Id,
                    Player1Name   = gameEventDualPlayer.Player1.Name,
                    Player2Id     = gameEventDualPlayer.Player2Id,
                    Player2Name   = gameEventDualPlayer.Player2.Name,
                    GameId        = gameEventDualPlayer.GameId,
                    Time          = gameEventDualPlayer.Time,
                    IsTwoPlayer   = true
                };

                var game = gameEventDualPlayer.Game;
                ViewData["game"] = game;

                var types = _context.EventTypes
                            .Where(x => x.SportId == game.SportId);
                var players = _context.Players
                              .Where(x => x.TeamId == game.Team1Id || x.TeamId == game.Team2Id)
                              .Include(x => x.Team)
                              .OrderBy(x => x.Name);
                ViewData["EventType"]  = new SelectList(types, "Id", "Name");
                ViewData["Players"]    = new SelectList(players, "Id", "NameAndTeam");
                ViewData["DualPlayer"] = "[\"" + String.Join("\",\"", types.Where(x => x.IsDualPlayer).Select(x => x.Name).ToList()) + "\"]";

                return(View(model));
            }

            return(NotFound());
        }
        // GET: Games/Details/5
        public async Task <IActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var gameEventSinglePlayer = await _context.EventsSinglePlayer
                                        .Include(g => g.Game)
                                        .Include(g => g.EventType)
                                        .Include(g => g.Player)
                                        .ThenInclude(p => p.Team)
                                        .FirstOrDefaultAsync(m => m.Id == id);

            if (gameEventSinglePlayer != null)
            {
                var model = new EventViewModel()
                {
                    Id            = gameEventSinglePlayer.Id,
                    EventTypeId   = gameEventSinglePlayer.EventTypeId,
                    EventTypeName = gameEventSinglePlayer.EventType.Name,
                    Player1Id     = gameEventSinglePlayer.PlayerId,
                    Player1Name   = gameEventSinglePlayer.Player.NameAndTeam,
                    GameId        = gameEventSinglePlayer.GameId,
                    Time          = gameEventSinglePlayer.Time,
                    IsTwoPlayer   = false
                };

                return(View(model));
            }

            var gameEventDualPlayer = await _context.EventsDualPlayer
                                      .Include(g => g.Game)
                                      .Include(g => g.EventType)
                                      .Include(g => g.Player1)
                                      .ThenInclude(p => p.Team)
                                      .Include(g => g.Player2)
                                      .ThenInclude(p => p.Team)
                                      .FirstOrDefaultAsync(m => m.Id == id);

            var test = _context.EventsDualPlayer.ToList();

            if (gameEventDualPlayer != null)
            {
                var model = new EventViewModel()
                {
                    Id            = gameEventDualPlayer.Id,
                    EventTypeId   = gameEventDualPlayer.EventTypeId,
                    EventTypeName = gameEventDualPlayer.EventType.Name,
                    Player1Id     = gameEventDualPlayer.Player1Id,
                    Player1Name   = gameEventDualPlayer.Player1.NameAndTeam,
                    Player2Id     = gameEventDualPlayer.Player2Id,
                    Player2Name   = gameEventDualPlayer.Player2.NameAndTeam,
                    GameId        = gameEventDualPlayer.GameId,
                    Time          = gameEventDualPlayer.Time,
                    IsTwoPlayer   = true
                };

                return(View(model));
            }

            return(NotFound());
        }
        public async Task <IActionResult> Edit(Guid?id, EventViewModel model)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var gameEvent = _context.Events.Find(id);

            if (gameEvent == null)
            {
                return(NotFound());
            }

            _context.Remove(gameEvent);

            if (model.GameId == null)
            {
                return(NotFound());
            }

            var game = _context.Games.Find(model.GameId);

            if (game == null)
            {
                return(NotFound());
            }

            var types = _context.EventTypes
                        .Where(x => x.SportId == game.SportId);
            var players = _context.Players
                          .Where(x => x.TeamId == game.Team1Id || x.TeamId == game.Team2Id)
                          .Include(x => x.Team)
                          .OrderBy(x => x.Name);

            if (ModelState.IsValid)
            {
                if (model.IsTwoPlayer)
                {
                    var newGameEvent = new EventDualPlayer()
                    {
                        Id          = model.Id,
                        GameId      = model.GameId,
                        Player1Id   = model.Player1Id,
                        Player2Id   = model.Player2Id,
                        EventTypeId = model.EventTypeId,
                        Time        = model.Time
                    };

                    _context.EventsDualPlayer.Add(newGameEvent);
                }
                else
                {
                    var newGameEvent = new EventSinglePlayer()
                    {
                        Id          = model.Id,
                        GameId      = model.GameId,
                        PlayerId    = model.Player1Id,
                        EventTypeId = model.EventTypeId,
                        Time        = model.Time
                    };

                    _context.EventsSinglePlayer.Add(newGameEvent);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction("Details", "Games", new { id = model.GameId }));
            }

            ViewData["game"]       = game;
            ViewData["EventType"]  = new SelectList(types, "Id", "Name");
            ViewData["Players"]    = new SelectList(players, "Id", "NameAndTeam");
            ViewData["DualPlayer"] = "[\"" + String.Join("\",\"", types.Where(x => x.IsDualPlayer).Select(x => x.Name).ToList()) + "\"]";
            return(View(model));
        }
 private EventViewModel MapToEventViewModel(SitecoreEvent sitecoreEvent)
 {
     EventViewModel eventViewModel = new EventViewModel()
     {
         Event = sitecoreEvent
     };
     return eventViewModel;
 }
Example #38
0
        public Event Insert(EventViewModel model, string CurrentId)
        {
            var    data      = new Event();
            Random generator = new Random();
            var    r         = generator.Next(0, 999999).ToString("D6");
            var    CodeEvent = "CR" + DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + r;
            var    find      = Queryable().Where(x => x.Code == CodeEvent).Any();

            do
            {
                r         = generator.Next(0, 999999).ToString("D6");
                CodeEvent = "CR" + DateTime.Now.ToString("yyyy") + DateTime.Now.ToString("MM") + r;
                find      = Queryable().Where(x => x.Code == CodeEvent).Any();
            } while (find == true);

            data.Code           = CodeEvent;
            data.Customer       = _customerService.Find(model.CustomerID);
            data.Status         = model.Status;
            data.StatusSeen     = 0;
            data.EventPurposeId = model.EventPurposeID;
            data.UserAccount    = _userRepository.Find(CurrentId);
            data.EventTypeId    = model.EventTypeID;
            data.Note           = model.Note;

            //data.UserAccount = _userRepository.Find(HttpContext.Current.User.Identity.GetUserId());
            if (model.DetailEvents != null)
            {
                data.DetailEvents = new List <DetailEvent>();
                foreach (var item in model.DetailEvents)
                {
                    data.DetailEvents.Add(new DetailEvent()
                    {
                        Serial           = item.Serial,
                        AgencySold       = item.AgencySold,
                        DateSold         = item.DateSold,
                        AssociateName    = item.AssociateName,
                        Note             = item.Note,
                        ProductType      = _productTypeService.Find(item.ProductID),
                        CreatDate        = DateTime.Now,
                        LastModifiedDate = DateTime.Now,
                        UserAccount      = _userRepository.Find(CurrentId),
                        Delete           = false
                    });
                }
            }
            if (model.Tags != null)
            {
                data.Tags = new List <Tag>();
                foreach (var item in model.Tags)
                {
                    var t = _tagService.Find(item.ID);
                    if (t != null)
                    {
                        data.Tags.Add(t);
                        data.UserAccount = _userRepository.Find(CurrentId);
                    }
                }
            }
            if (model.ReminderNotes != null)
            {
                data.ReminderNotes = new List <ReminderNote>();
                foreach (var item in model.ReminderNotes)
                {
                    data.ReminderNotes.Add(new ReminderNote()
                    {
                        ReminderDate     = item.ReminderDate,
                        Serial           = item.Serial,
                        CreatDate        = DateTime.Now,
                        LastModifiedDate = DateTime.Now,
                        Note             = item.Note,
                        UserAccount      = _userRepository.Find(CurrentId),
                    });
                }
            }

            if (model.InteractionHistories != null)
            {
                data.InteractionHistories = new List <InteractionHistory>();
                foreach (var item in model.InteractionHistories)
                {
                    data.InteractionHistories.Add(new InteractionHistory()
                    {
                        Type             = item.Type,
                        Note             = item.Note,
                        EmployeeCall     = item.EmployeeCall,
                        EmployeeID       = item.EmployeeID,
                        CreatDate        = DateTime.Now,
                        LastModifiedDate = DateTime.Now,
                        UserAccount      = _userRepository.Find(CurrentId),
                        Delete           = false
                    });
                }
            }
            data.EStatusLogs = new List <EStatusLog>();
            data.EStatusLogs.Add(new EStatusLog()
            {
                CreatDate        = DateTime.Now,
                LastModifiedDate = DateTime.Now,
                Status           = 0,
                Note             = "Nhân viên " + _userRepository.Find(CurrentId).UserName + " tạo sự kiện " + CodeEvent,
                UserAccount      = _userRepository.Find(CurrentId),
                Delete           = false
            });
            data.CreatDate        = DateTime.Now;
            data.Delete           = false;
            data.LastModifiedDate = DateTime.Now;
            //data.UserAccount = _userRepository.Find(HttpContext.Current.User.Identity.GetUserId());
            base.Insert(data);
            return(data);
        }