private static void SeedTravelLog(Metro2036DbContext context, TravelLogDtoImp[] travelLogsDtos)
        {
            var validTravelLog = new List <TravelLog>();

            foreach (var travelLogDto in travelLogsDtos)
            {
                var userId = context.Users
                             .Where(u => u.UserName == travelLogDto.UserName)
                             .Select(u => u.Id)
                             .Single();
                var stationId = travelLogDto.StationId;

                //var travelLog = Mapper.Map<TravelLog>(travelLogDto);

                var travelLog = new TravelLog
                {
                    UserId    = userId,
                    StationId = stationId
                };


                validTravelLog.Add(travelLog);

                //TODO: Implement Import Logging
            }

            context.TravelLogs.AddRange(validTravelLog);
            context.SaveChanges();
        }
Exemplo n.º 2
0
        protected void dgTravelLog_UpdateCommand(object source, DataGridCommandEventArgs e)
        {
            int       id        = (int)dgTravelLog.DataKeys[e.Item.ItemIndex];
            TravelLog TravelLog = _presenter.GetTravelLogById(id);

            try
            {
                //TextBox txtRequestNo = e.Item.FindControl("txtRequestNo") as TextBox;
                //TravelLog.RequestNo = Convert.ToInt32(txtRequestNo.Text);
                TextBox txtDeparturePlace = e.Item.FindControl("txtEdtDeparturePlace") as TextBox;
                TravelLog.DeparturePlace = txtDeparturePlace.Text;
                TextBox txtArrivalPlace = e.Item.FindControl("txtEdtArrivalPlace") as TextBox;
                TravelLog.ArrivalPlace = txtArrivalPlace.Text;
                TextBox txtDepartureTime = e.Item.FindControl("txtEdtDepartureTime") as TextBox;
                TravelLog.DepartureTime = Convert.ToDateTime(txtDepartureTime.Text);
                TextBox txtArrivalTime = e.Item.FindControl("txtEdtArrivalTime") as TextBox;
                TravelLog.ArrivalTime = Convert.ToDateTime(txtArrivalTime.Text);
                TextBox txtStartKmReading = e.Item.FindControl("txtEdtStartKmReading") as TextBox;
                TravelLog.StartKmReading = Convert.ToDecimal(txtStartKmReading.Text);
                TextBox txtEndKmReading = e.Item.FindControl("txtEdtEndKmReading") as TextBox;
                TravelLog.EndKmReading = Convert.ToDecimal(txtEndKmReading.Text);
                TextBox txtFuelPrice = e.Item.FindControl("txtEdtFuelPrice") as TextBox;
                TravelLog.FuelPrice = Convert.ToInt32(txtFuelPrice.Text);

                int VehicleRequestId = Convert.ToInt32(Request.QueryString["requestId"]);

                SaveTravelLog(TravelLog, VehicleRequestId);
                dgTravelLog.EditItemIndex = -1;
                BindTravelLogs();
            }
            catch (Exception ex)
            {
                Master.ShowMessage(new AppMessage("Error: Unable to Update Travel Log. " + ex.Message, Chai.WorkflowManagment.Enums.RMessageType.Error));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="travelLog">The travel log to display.</param>
        /// <param name="travelLogProcessor">A <see cref="ITravelLogProcessor"/> used to process the travel log.</param>
        public TravelDetailsViewModel(TravelLog travelLog, ITravelLogProcessor travelLogProcessor)
        {
            _travelLog          = travelLog;
            _travelLogProcessor = travelLogProcessor;

            ProcessTravelLog(_travelLogProcessor);
        }
Exemplo n.º 4
0
        public void SaveOrUpdateTravelLog(TravelLog TravelLog, int VehicleRequestId)
        {
            VehicleRequest VehicleRequest = _controller.GetVehicleRequest(VehicleRequestId);

            TravelLog.VehicleRequest = VehicleRequest;
            TravelLog.RequestNo      = VehicleRequest.RequestNo;

            _controller.SaveOrUpdateEntity(TravelLog);
        }
        public async Task <IActionResult> Discard()
        {
            TravelLog log = await GetActiveLog();

            if (log != null)
            {
                _context.Remove(log);
                _context.SaveChanges();
            }

            return(Ok());
        }
Exemplo n.º 6
0
        public async Task <IActionResult> AddTravelLog([FromBody] TravelLog travelLog)
        {
            var user = await GetUser(this.User.Identity.Name);

            var profile = await GetProfile(user.UserName);

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            // travelLog.ProfileId=profile.ProfileId;
            // _context.TravelLogs.Add(travelLog);
            _context.TravelLogs.Add(travelLog).Entity.ProfileId = profile.ProfileId;
            await _context.SaveChangesAsync();

            return(Ok(travelLog));
        }
Exemplo n.º 7
0
        protected void dgTravelLog_DeleteCommand(object source, DataGridCommandEventArgs e)
        {
            int       id        = (int)dgTravelLog.DataKeys[e.Item.ItemIndex];
            TravelLog TravelLog = _presenter.GetTravelLogById(id);

            try
            {
                //LinkButton lnkbtn = e.Item.FindControl("lnkDelete") as LinkButton;
                //if (lnkbtn != null)
                //    lnkbtn.Attributes.Add("OnClientClick", "javascript:return confirm('Are you sure you want to delete Supplier?');");
                _presenter.DeleteTravelLog(TravelLog);
                BindTravelLogs();

                Master.ShowMessage(new AppMessage("Travel Log was Removed Successfully", Chai.WorkflowManagment.Enums.RMessageType.Info));
            }
            catch (Exception ex)
            {
                Master.ShowMessage(new AppMessage("Error: Unable to delete Travel Log. " + ex.Message, Chai.WorkflowManagment.Enums.RMessageType.Error));
            }
        }
        public async Task <IActionResult> Depart()
        {
            TravelLog log = await GetActiveLog();

            if (log != null)
            {
                return(Conflict());
            }

            // Start a new TravelLog
            _context.Add(
                new TravelLog
            {
                User            = await _userManager.GetUserAsync(HttpContext.User),
                TimeOfDeparture = DateTime.Now.ToUniversalTime()
            }
                );
            _context.SaveChanges();
            return(Ok());
        }
Exemplo n.º 9
0
        /// <summary>
        /// Gets a list of <see cref="TravelLog"/> objects.
        /// </summary>
        /// <remarks>
        /// Input files are found under CodeKata.Files folder. To add another input file
        /// add the file under the Files folder and set the build action to "EmbeddedResource".
        /// Then follow the pattern for exampleLog and lotr to process and add the new
        /// input file.
        /// </remarks>
        /// <returns>A list of <see cref="TravelLog"/> objects.</returns>
        public async Task <IEnumerable <TravelLog> > GetTravelLogs()
        {
            List <TravelLog> logs = new List <TravelLog>();

            TravelLog exampleLog = new TravelLog("Example");

            exampleLog.Log = await ReadTravelLog("Example.txt");

            logs.Add(exampleLog);

            TravelLog lotr = new TravelLog("Lord of the Rings");

            lotr.Log = await ReadTravelLog("LOTR.txt");

            logs.Add(lotr);

            // add more logs here and follow pattern above

            return(logs);
        }
Exemplo n.º 10
0
 private void SaveTravelLog(TravelLog TravelLog, int VehicleRequestId)
 {
     try
     {
         if (TravelLog.Id <= 0)
         {
             _presenter.SaveOrUpdateTravelLog(TravelLog, VehicleRequestId);
             Master.ShowMessage(new AppMessage("Travel Log saved", RMessageType.Info));
             //_presenter.CancelPage();
         }
         else
         {
             _presenter.SaveOrUpdateTravelLog(TravelLog, VehicleRequestId);
             Master.ShowMessage(new AppMessage("Travel Log Updated", RMessageType.Info));
             // _presenter.CancelPage();
         }
     }
     catch (Exception ex)
     {
         Master.ShowMessage(new AppMessage(ex.Message, RMessageType.Error));
     }
 }
Exemplo n.º 11
0
        protected void dgTravelLog_ItemCommand(object source, DataGridCommandEventArgs e)
        {
            TravelLog TravelLog = new TravelLog();

            if (e.CommandName == "AddNew")
            {
                try
                {
                    //TextBox txtRequestNo = e.Item.FindControl("txtRequestNo") as TextBox;
                    //TravelLog.RequestNo = Convert.ToInt32(txtRequestNo.Text);
                    TextBox txtDeparturePlace = e.Item.FindControl("txtDeparturePlace") as TextBox;
                    TravelLog.DeparturePlace = txtDeparturePlace.Text;
                    TextBox txtArrivalPlace = e.Item.FindControl("txtArrivalPlace") as TextBox;
                    TravelLog.ArrivalPlace = txtArrivalPlace.Text;
                    TextBox txtDepartureTime = e.Item.FindControl("txtDepartureTime") as TextBox;
                    TravelLog.DepartureTime = Convert.ToDateTime(txtDepartureTime.Text);
                    TextBox txtArrivalTime = e.Item.FindControl("txtArrivalTime") as TextBox;
                    TravelLog.ArrivalTime = Convert.ToDateTime(txtArrivalTime.Text);
                    TextBox txtStartKmReading = e.Item.FindControl("txtStartKmReading") as TextBox;
                    TravelLog.StartKmReading = Convert.ToDecimal(txtStartKmReading.Text);
                    TextBox txtEndKmReading = e.Item.FindControl("txtEndKmReading") as TextBox;
                    TravelLog.EndKmReading = Convert.ToDecimal(txtEndKmReading.Text);
                    TextBox txtKmReadingOnFuelRefill = e.Item.FindControl("txtKmReadingOnFuelRefill") as TextBox;
                    TravelLog.KmReadingOnFuelRefill = Convert.ToInt32(txtKmReadingOnFuelRefill.Text);
                    TextBox txtFuelPrice = e.Item.FindControl("txtFuelPrice") as TextBox;
                    TravelLog.FuelPrice = Convert.ToInt32(txtFuelPrice.Text);

                    int VehicleRequestId = Convert.ToInt32(Request.QueryString["requestId"]);

                    SaveTravelLog(TravelLog, VehicleRequestId);
                    dgTravelLog.EditItemIndex = -1;
                    BindTravelLogs();
                }
                catch (Exception ex)
                {
                    Master.ShowMessage(new AppMessage("Error: Unable to Add Travel Log " + ex.Message, Chai.WorkflowManagment.Enums.RMessageType.Error));
                }
            }
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Arrive(string comment)
        {
            comment = comment?.Trim();
            if (string.Empty == comment)
            {
                comment = null;
            }

            TravelLog activeLog = await GetActiveLog();

            if (activeLog == null)
            {
                return(BadRequest());
            }

            activeLog.TimeOfArrival = DateTime.Now.ToUniversalTime();
            activeLog.Comment       = comment;
            _context.Update(activeLog);
            _context.SaveChanges();

            return(Ok());
        }
Exemplo n.º 13
0
 public void DeleteTravelLog(TravelLog TravelLog)
 {
     _controller.DeleteEntity(TravelLog);
 }
Exemplo n.º 14
0
 /// <summary>
 /// Handle a TravelLog being selected. Navigates to <see cref="TravelDetails"/> page.
 /// </summary>
 /// <param name="selectedLog">The selected travel log.</param>
 private async void OnSelectedLog(TravelLog selectedLog)
 {
     await _pageService.PushAsync(new TravelDetails(new TravelDetailsViewModel(selectedLog, new TravelLogProcessor())));
 }