Beispiel #1
0
        public HttpResponseMessage DeleteTrack(int itemId, int codeCampId)
        {
            try
            {
                var sessions = SessionDataAccess.GetItemsByTrackId(itemId, codeCampId);

                if (sessions.Any())
                {
                    foreach (var session in sessions)
                    {
                        session.TrackId             = null;
                        session.LastUpdatedByDate   = DateTime.Now;
                        session.LastUpdatedByUserId = UserInfo.UserID;

                        SessionDataAccess.UpdateItem(session);
                    }
                }

                TrackDataAccess.DeleteItem(itemId, codeCampId);

                var response = new ServiceResponse <string> {
                    Content = SUCCESS_MESSAGE
                };

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
        public HttpResponseMessage GetRoomByTrackId(int trackId, int codeCampId)
        {
            try
            {
                RoomInfo room  = null;
                var      track = TrackDataAccess.GetItems(codeCampId).Where(t => t.TrackId == trackId).FirstOrDefault();

                if (track != null)
                {
                    room = RoomDataAccess.GetItem(track.RoomId.Value, codeCampId);
                }

                var response = new ServiceResponse <RoomInfo> {
                    Content = room
                };

                if (room == null)
                {
                    ServiceResponseHelper <RoomInfo> .AddNoneFoundError("rooms", ref response);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
Beispiel #3
0
        public HttpResponseMessage CreateTrack(TrackInfo track)
        {
            try
            {
                var timeStamp = DateTime.Now;

                track.CreatedByDate       = timeStamp;
                track.CreatedByUserId     = UserInfo.UserID;
                track.LastUpdatedByDate   = timeStamp;
                track.LastUpdatedByUserId = UserInfo.UserID;

                TrackDataAccess.CreateItem(track);

                var tracks = TrackDataAccess.GetItems(track.CodeCampId);

                var savedTrack = tracks.OrderByDescending(s => s.CreatedByDate).FirstOrDefault(s => s.Title == track.Title);

                var response = new ServiceResponse <TrackInfo> {
                    Content = savedTrack
                };

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
Beispiel #4
0
        public HttpResponseMessage UnassignRoomFromTrack(int roomId, int trackId, int codeCampId)
        {
            try
            {
                var track = TrackDataAccess.GetItem(trackId, codeCampId);

                if (track != null)
                {
                    track.RoomId              = null;
                    track.LastUpdatedByDate   = DateTime.Now;
                    track.LastUpdatedByUserId = UserInfo.UserID;

                    TrackDataAccess.UpdateItem(track);
                }

                var response = new ServiceResponse <string> {
                    Content = SUCCESS_MESSAGE
                };

                if (track == null)
                {
                    ServiceResponseHelper <string> .AddNoneFoundError("track", ref response);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
        public HttpResponseMessage DeleteRoom(int itemId, int codeCampId)
        {
            try
            {
                var tracks = TrackDataAccess.GetItems(codeCampId).Where(t => t.RoomId == itemId);

                if (tracks.Any())
                {
                    foreach (var track in tracks)
                    {
                        track.RoomId              = null;
                        track.LastUpdatedByDate   = DateTime.Now;
                        track.LastUpdatedByUserId = UserInfo.UserID;

                        TrackDataAccess.UpdateItem(track);
                    }
                }

                RoomDataAccess.DeleteItem(itemId, codeCampId);

                var response = new ServiceResponse <string> {
                    Content = SUCCESS_MESSAGE
                };

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
        /// <summary>
        /// DataGridViewForm - display all client event for mailing
        /// </summary>
        /// <param name="mainForm"></param>
        /// <param name="clientEventsList"></param>
        public DataGridViewForm(MainForm mainForm, List <ClientEventModel> clientEventsList)
        {
            InitializeComponent();

            DataGridView dataGridView = dgvData;
            DataTable    dataTable    = ToDataTable(clientEventsList);

            foreach (DataRow row in dataTable.Rows)
            {
                if (row["ClientId"] != null)
                {
                    ClientModel clientModel = ClientDataAccess.LoadClient((int)row["ClientId"]);
                    row["ClientName"] = clientModel.Name;
                }
                if (row["TrackId"] != null)
                {
                    TrackModel trackModel = TrackDataAccess.LoadTrack((int)row["TrackId"]);
                    row["TrackName"] = trackModel.Name;
                }
            }
            dataTable.Columns.Add("Applied", typeof(bool)).SetOrdinal(0);
            dataTable.Columns["ClientEventID"].SetOrdinal(1);
            dataTable.Columns["ClientName"].SetOrdinal(2);
            dataTable.Columns["TrackName"].SetOrdinal(3);

            dataGridView.DataSource          = dataTable;
            dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

            dataGridView.Columns["IsDeleted"].Visible = false;
            dataGridView.Columns["ClientId"].Visible  = false;
            dataGridView.Columns["TrackId"].Visible   = false;

            int dgv_width = dataGridView.Columns.GetColumnsWidth(DataGridViewElementStates.Visible);

            this.Width = 365 + dgv_width;

            foreach (DataGridViewColumn column in dgvData.Columns)
            {
                if (column.HeaderText == "Applied")
                {
                    column.ReadOnly = false;
                }
                else
                {
                    column.ReadOnly = true;
                }
            }
            dataGridView.ClearSelection();

            btnSelect.Click += btnAddClientEvent_Click;
            _mainForm        = mainForm;
        }
Beispiel #7
0
        public int Insert(ref string errMessage, Track oTrack)
        {
            Database db = DatabaseFactory.CreateDatabase();

            errMessage = "";
            try
            {
                return(TrackDataAccess.Insert(db, oTrack));
            }
            catch (Exception ex)
            {
                errMessage = ex.Message + ex.StackTrace;
                logger.Error("Error Message:" + ex.Message + " Trace:" + ex.StackTrace);
                return(-1);
            }
        }
        /// <summary>
        /// RefreshDataGridViewTrack - refresh track data grid view
        /// </summary>
        public void RefreshDataGridViewTrack()
        {
            List <TrackModel> list         = TrackDataAccess.LoadAllTrack();
            DataGridView      dataGridView = dgvTrack;
            DataTable         dataTable    = ToDataTable(list);

            dataGridView.DataSource          = dataTable;
            dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

            //dataGridView.Columns["TrackID"].HeaderText = "Track ID";
            //dataGridView.Columns["IsDeleted"].Visible = false;

            int dgv_width = dataGridView.Columns.GetColumnsWidth(DataGridViewElementStates.Visible);

            this.Width = 365 + dgv_width;

            dataGridView.ClearSelection();
        }
Beispiel #9
0
        /// <summary>
        /// btnCreate_Click - create new track record
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (ValidateChildren(ValidationConstraints.Enabled))
            {
                _trackModel      = new TrackModel();
                _trackModel.Name = txtTrackName.Text.Trim();

                try
                {
                    TrackDataAccess.SaveTrack(_trackModel);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Runtime Error\n" + ex.Message, "Unexpected Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    this.Close();
                }
            }
        }
Beispiel #10
0
        public HttpResponseMessage GetTracks(int codeCampId)
        {
            try
            {
                var tracks   = TrackDataAccess.GetItems(codeCampId);
                var response = new ServiceResponse <List <TrackInfo> > {
                    Content = tracks.ToList()
                };

                if (tracks == null)
                {
                    ServiceResponseHelper <List <TrackInfo> > .AddNoneFoundError("tracks", ref response);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
Beispiel #11
0
        public HttpResponseMessage GetTrackByRoomId(int roomId, int codeCampId)
        {
            try
            {
                var track = TrackDataAccess.GetItems(codeCampId).FirstOrDefault(t => t.RoomId == roomId);

                var response = new ServiceResponse <TrackInfo> {
                    Content = track
                };

                if (track == null)
                {
                    ServiceResponseHelper <TrackInfo> .AddNoneFoundError("track", ref response);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
Beispiel #12
0
        /// <summary>
        /// btnUpdate_Click - update track record
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (ValidateChildren(ValidationConstraints.Enabled))
            {
                _trackModel           = new TrackModel();
                _trackModel.Name      = txtTrackName.Text.Trim();
                _trackModel.IsDeleted = rdoIsDeleted_Disabled.Checked ? true : false;

                try
                {
                    TrackDataAccess.UpdateTrack(_trackModel, int.Parse(txtTrackId.Text));
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Runtime Error\n" + ex.Message, "Unexpected Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    this.Close();
                }
            }
        }
        public HttpResponseMessage GetUnassignedRooms(int codeCampId)
        {
            try
            {
                var trackList = TrackDataAccess.GetItems(codeCampId).Select(t => t.RoomId);
                var rooms     = RoomDataAccess.GetItems(codeCampId).Where(r => !trackList.Contains(r.RoomId));

                var response = new ServiceResponse <List <RoomInfo> > {
                    Content = rooms.ToList()
                };

                if (rooms == null)
                {
                    ServiceResponseHelper <List <RoomInfo> > .AddNoneFoundError("rooms", ref response);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
        /// <summary>
        /// RefreshDataGridViewClientEvent - refresh client event data grid view
        /// </summary>
        public void RefreshDataGridViewClientEvent()
        {
            List <ClientEventModel> list         = ClientEventDataAccess.LoadAllClientEvent();
            DataGridView            dataGridView = dgvClientEvent;
            DataTable dataTable = ToDataTable(list);

            foreach (DataRow row in dataTable.Rows)
            {
                if (row["ClientID"] != null)
                {
                    ClientModel clientModel = ClientDataAccess.LoadClient((int)row["ClientID"]);
                    row["ClientName"] = clientModel.Name;
                }
                if (row["TrackID"] != null)
                {
                    TrackModel trackModel = TrackDataAccess.LoadTrack((int)row["TrackID"]);
                    row["TrackName"] = trackModel.Name;
                }
            }
            dataTable.Columns["ClientEventID"].SetOrdinal(0);
            dataTable.Columns["ClientName"].SetOrdinal(1);
            dataTable.Columns["TrackName"].SetOrdinal(2);

            dataGridView.DataSource          = dataTable;
            dataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

            dataGridView.Columns["IsDeleted"].Visible = false;
            dataGridView.Columns["ClientId"].Visible  = false;
            dataGridView.Columns["TrackId"].Visible   = false;

            int dgv_width = dataGridView.Columns.GetColumnsWidth(DataGridViewElementStates.Visible);

            this.Width = 250 + dgv_width;

            dataGridView.ClearSelection();
        }
        /// <summary>
        /// ClientEventForm - for updating client event record
        /// </summary>
        /// <param name="mainForm">main form</param>
        /// <param name="clientEventModel">client event record</param>
        public ClientEventForm(MainForm mainForm, ClientEventModel clientEventModel)
        {
            _mainForm = mainForm;
            InitializeComponent();
            btnEnter.Click += btnClientEventUpdate_Click;

            btnEnter.Text = "&Update";

            // load client event data to the form
            _clientEvent = clientEventModel;
            ClientModel clientModel = ClientDataAccess.LoadClient(_clientEvent.ClientID);
            TrackModel  trackModel  = TrackDataAccess.LoadTrack(_clientEvent.TrackID);

            _clientsEvents_TrackWorkers = ClientEvents_TrackWorkersDataAccess.LoadClientEventTrackWorker(clientEventModel.ClientEventID);

            txtClientEventId.Text = clientEventModel.ClientEventID.ToString();
            txtClientId.Text      = clientModel.Name.ToString();
            txtTrackID.Text       = trackModel.Name.ToString();

            txtClientEventDate.Text = _clientEvent.Date.ToString();
            txtWorkerRequested.Text = _clientEvent.WorkersRequested.ToString();
            if (_clientEvent.IsLunchProvided)
            {
                rdoClientEventIsLunchProvided_True.Checked = true;
            }
            else
            {
                rdoClientEventIsLunchProvided_False.Checked = true;
            }

            if (_clientEvent.IsUsingUpperPaddock)
            {
                cbClientEventIsUsingUpperPaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingUpperPaddock.Checked = false;
            }

            if (_clientEvent.IsUsingMiddlePaddock)
            {
                cbClientEventIsUsingMiddlePaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingMiddlePaddock.Checked = false;
            }

            if (_clientEvent.IsUsingLowerPaddock)
            {
                cbClientEventIsUsingLowerPaddock.Checked = true;
            }
            else
            {
                cbClientEventIsUsingLowerPaddock.Checked = false;
            }

            if (_clientEvent.WorkerCalloutSent)
            {
                rdoClientEventWorkerCalloutSent_True.Checked = true;
            }
            else
            {
                rdoClientEventWorkerCalloutSent_False.Checked = true;
            }

            if (_clientEvent.RequireSafetyDemo)
            {
                rdoClientEventRequireSafetyDemo_True.Checked = true;
            }
            else
            {
                rdoClientEventRequireSafetyDemo_False.Checked = true;
            }

            if (_clientEvent.IsDeleted)
            {
                rdoClientEventIsDeleted_Disabled.Checked = true;
            }
            else
            {
                rdoClientEventIsDeleted_Enabled.Checked = true;
            }
        }
Beispiel #16
0
        public HttpResponseMessage UpdateTrack(TrackInfo track)
        {
            try
            {
                var updatesToProcess = false;
                var originalTrack    = TrackDataAccess.GetItem(track.TrackId, track.CodeCampId);

                if (!string.Equals(track.Title, originalTrack.Title))
                {
                    originalTrack.Title = track.Title;
                    updatesToProcess    = true;
                }

                if (!string.Equals(track.Description, originalTrack.Description))
                {
                    originalTrack.Description = track.Description;
                    updatesToProcess          = true;
                }

                if (originalTrack.CustomProperties != null)
                {
                    // parse custom properties for updates
                    foreach (var property in originalTrack.CustomPropertiesObj)
                    {
                        if (track.CustomPropertiesObj.Any(p => p.Name == property.Name))
                        {
                            // see if the existing property needs to be updated
                            var prop = track.CustomPropertiesObj.FirstOrDefault(p => p.Name == property.Name);
                            if (!string.Equals(prop.Value, property.Value))
                            {
                                property.Value   = prop.Value;
                                updatesToProcess = true;
                            }
                        }
                        else
                        {
                            // delete the property
                            originalTrack.CustomPropertiesObj.Remove(property);
                            updatesToProcess = true;
                        }
                    }
                }

                if (track.CustomPropertiesObj != null)
                {
                    // add any new properties
                    if (originalTrack.CustomProperties == null)
                    {
                        foreach (var property in track.CustomPropertiesObj)
                        {
                            originalTrack.CustomPropertiesObj.Add(property);
                            updatesToProcess = true;
                        }
                    }
                    else
                    {
                        foreach (var property in track.CustomPropertiesObj.Where(property => !originalTrack.CustomPropertiesObj.Contains(property)))
                        {
                            originalTrack.CustomPropertiesObj.Add(property);
                            updatesToProcess = true;
                        }
                    }
                }

                if (updatesToProcess)
                {
                    originalTrack.LastUpdatedByDate   = DateTime.Now;
                    originalTrack.LastUpdatedByUserId = UserInfo.UserID;

                    TrackDataAccess.UpdateItem(originalTrack);
                }

                var savedTrack = TrackDataAccess.GetItem(track.TrackId, track.CodeCampId);

                var response = new ServiceResponse <TrackInfo> {
                    Content = savedTrack
                };

                return(Request.CreateResponse(HttpStatusCode.OK, response.ObjectToJson()));
            }
            catch (Exception ex)
            {
                Exceptions.LogException(ex);
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ERROR_MESSAGE));
            }
        }
        /// <summary>
        /// SetWebBrowserTable - for creating html mail
        /// </summary>
        public void SetWebBrowserTable()
        {
            List <ClientEventModel> clientEventModelsList = new List <ClientEventModel>();

            allClientEventTrackWorkerIdList = new List <int>();
            foreach (int clientEventId in _clientEventIdList)
            {
                ClientEventModel clientEvent = ClientEventDataAccess.LoadClientEvent(clientEventId);
                clientEvent.TrackWorkersId      = ClientEvents_TrackWorkersDataAccess.LoadClientEventTrackWorkerIDList(clientEventId);
                allClientEventTrackWorkerIdList = allClientEventTrackWorkerIdList.Union(clientEvent.TrackWorkersId).ToList();
                clientEventModelsList.Add(clientEvent);
            }

            stringBodyHTML += "<table style=\"border: 1px solid black;text-align:center;\">";
            stringBodyHTML += "<tr>";
            stringBodyHTML += "<td></td>";
            foreach (ClientEventModel clientEvent in clientEventModelsList)
            {
                ClientModel client = ClientDataAccess.LoadClient(clientEvent.ClientID);
                stringBodyHTML += "<td style=\"border: 1px solid black;\">" + client.Name + "</td>";
            }
            stringBodyHTML += "</tr>";
            stringBodyHTML += "<tr>";
            stringBodyHTML += "<td></td>";
            foreach (ClientEventModel clientEvent in clientEventModelsList)
            {
                stringBodyHTML += "<td style=\"border: 1px solid black;\">" + clientEvent.Date + "</td>";
            }
            stringBodyHTML += "</tr>";
            stringBodyHTML += "<tr>";
            stringBodyHTML += "<td style=\"border: 1px solid black;\"># Workers Needed</td>";
            foreach (ClientEventModel clientEvent in clientEventModelsList)
            {
                stringBodyHTML += "<td style=\"border: 1px solid black;\">" + clientEvent.WorkersRequested + "</td>";
            }
            stringBodyHTML += "</tr>";
            stringBodyHTML += "<tr>";
            stringBodyHTML += "<td style=\"border: 1px solid black;\">Track</td>";
            foreach (ClientEventModel clientEvent in clientEventModelsList)
            {
                TrackModel track = TrackDataAccess.LoadTrack(clientEvent.TrackID);
                stringBodyHTML += "<td style=\"border: 1px solid black;\">" + track.Name + "</td>";
            }
            stringBodyHTML += "</tr>";

            stringBodyHTML += "<tr><td><b>Worker Name</b></td></tr>";
            foreach (int trackWorkerId in allClientEventTrackWorkerIdList)
            {
                stringBodyHTML += "<tr>";
                TrackWorkerModel trackWorker = TrackWorkerDataAccess.LoadTrackWorker(trackWorkerId);
                stringBodyHTML += "<td style=\"border: 1px solid black;\">" + trackWorker.FullName() + "</td>";
                foreach (ClientEventModel clientEvent in clientEventModelsList)
                {
                    if (clientEvent.TrackWorkersId.Contains(trackWorkerId))
                    {
                        stringBodyHTML += "<td style=\"border: 1px solid black;\">X</td>";
                    }
                    else
                    {
                        stringBodyHTML += "<td style=\"border: 1px solid black;\">&nbsp;</td>";
                    }
                }
                stringBodyHTML += "</tr>";
            }
            stringBodyHTML += "</table>";

            //webBrowser.DocumentText += stringTableHTML;
        }
Beispiel #18
0
 public TracksController(TrackDataAccess dataAccess)
 {
     _dataAccess = dataAccess;
 }
Beispiel #19
0
        public async Task <Track> UpdateAsync(TrackUpdateModel track)
        {
            await AlbumGetService.ValidateAsync(track);

            return(await TrackDataAccess.UpdateAsync(track));
        }
        /// <summary>
        /// btnClientAdd_Click - for adding track for client event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTrackAdd_Click(object sender, EventArgs e)
        {
            DataGridViewForm dataGridViewForm = new DataGridViewForm(this, TrackDataAccess.LoadTrack());

            dataGridViewForm.ShowDialog();
        }