void AssignBookings()
 {
     try
     {
         if (BookingList != null && BookingList.Count > 0)
         {
             ShowBookingsIfPresent(true);
             BookingDetailModel model = BookingList.Where(s => DateTime.Now >= s.start && DateTime.Now < s.end).ToList().FirstOrDefault();
             if (model != null)
             {
                 CurrentBooking = model;
                 BookingList.Remove(CurrentBooking);
                 this.RunOnUiThread(() =>
                 {
                     adapter.NotifyDataSetChanged();
                     OngoingLinearLayout.Visibility   = ViewStates.Visible;
                     AvailableLinearLayout.Visibility = ViewStates.Gone;
                     ViewMeetingSideBar.SetBackgroundColor(color: Resources.GetColor(Resource.Color.colorOrange));
                     TextViewPurpose.Text             = model.purpose;
                     TextViewBookedBy.Text            = Resources.GetString(Resource.String.booked_via) + " " + model.reserved_by;
                     TextViewOngoingTimeInterval.Text = model.start.ToString(Resources.GetString(Resource.String.time_interval_format)) + " - " + model.end.ToString(Resources.GetString(Resource.String.time_interval_format));
                 });
                 IsCurrentBookingOngoing = true;
                 StartTimer();
             }
             else
             {
                 this.RunOnUiThread(() =>
                 {
                     adapter.NotifyDataSetChanged();
                     OngoingLinearLayout.Visibility   = ViewStates.Gone;
                     AvailableLinearLayout.Visibility = ViewStates.Visible;
                     ViewMeetingSideBar.SetBackgroundColor(color: Resources.GetColor(Resource.Color.colorGreen));
                 });
                 IsCurrentBookingOngoing = false;
                 CurrentBooking          = BookingList[0];
                 StartTimer();
             }
             CheckUpcomingBookings();
         }
         else
         {
             ShowBookingsIfPresent(false);
         }
     }
     catch (Exception exc)
     {
         Crashes.TrackError(exc);
     }
 }
        private void OnTimedEvent(object sender, ElapsedEventArgs e)
        {
            try
            {
                DateTime dt = new DateTime();
                if (IsCurrentBookingOngoing)
                {
                    dt = CurrentBooking.end;
                }
                else
                {
                    dt = CurrentBooking.start;
                }

                TimeSpan ts      = dt - DateTime.Now;
                string   hour    = ts.Hours.ToString(Resources.GetString(Resource.String.time));
                string   minutes = ts.Minutes.ToString(Resources.GetString(Resource.String.time));
                string   seconds = ts.Seconds.ToString(Resources.GetString(Resource.String.time));
                this.RunOnUiThread(() =>
                {
                    if (IsCurrentBookingOngoing)
                    {
                        TextViewOngoingCountDown.Text = hour + ":" + minutes + ":" + seconds + " " + Resources.GetString(Resource.String.hour);
                    }
                    else
                    {
                        TextViewAvailableCountDown.Text = hour + ":" + minutes + ":" + seconds + " " + Resources.GetString(Resource.String.hour);
                    }
                    TextViewCurrentTime.Text = DateTime.Now.ToString(Resources.GetString(Resource.String.time_interval_format));
                });
                if (dt < DateTime.Now)
                {
                    _timer.Stop();
                    CurrentBooking = null;
                    AssignBookings();
                }
            }
            catch (Exception exc)
            {
                Crashes.TrackError(exc);
            }
        }
Пример #3
0
 //Create New Booking
 public void AddBookingDetails(Consignee consignee, Shipper shipper, BookingModel booking, BookingDetailModel bookingDetail)
 {
     _context.AddRange(consignee, shipper, booking, bookingDetail);
     _context.SaveChanges();
 }
Пример #4
0
        public ActionResult ManageBooking(int page = 1, int PageSize = 5, string searchString = "", string sort = "", string sortdir = "DESC", string message = "")
        {
            _bookingServices = new BookingDetailServices();
            ViewBag.sortdir  = "ASC" == sortdir ? "DESC" : "ASC";
            sort             = String.IsNullOrEmpty(sort) ? "BookingId" : sort;
            var bookingDetail = _bookingServices.GetAllBookings();

            if (bookingDetail != null)
            {
                switch (sort)
                {
                case "Owner":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => tes.Owner);
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => tes.Owner);
                    }
                    break;

                case "Renter":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => tes.Renter);
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => tes.Renter);
                    }
                    break;

                case "PickupTime":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => Convert.ToDateTime(tes.PickUpTime));
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => Convert.ToDateTime(tes.PickUpTime));
                    }
                    break;

                case "DropTime":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => Convert.ToDateTime(tes.DropTime));
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => Convert.ToDateTime(tes.DropTime));
                    }
                    break;

                case "BookingId":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => tes.BookingId);
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => tes.BookingId);
                    }
                    break;

                case "NoOfDays":
                    if (sortdir == "DESC")
                    {
                        bookingDetail = bookingDetail.OrderByDescending(tes => tes.NoOfDays);
                    }
                    else
                    {
                        bookingDetail = bookingDetail.OrderBy(tes => tes.NoOfDays);
                    }
                    break;

                default:
                    bookingDetail = bookingDetail.OrderByDescending(tes => tes.BookingId);
                    break;
                }

                if (!String.IsNullOrEmpty(searchString))
                {
                    bookingDetail = bookingDetail.Where(p => p.BookingId != null && p.Owner != null && p.Renter != null && p.PickUpTime != null && p.DropTime != null).ToList();
                    bookingDetail = bookingDetail.Where(s => (s.BookingId.ToString().ToUpper().Contains(searchString.ToUpper()) || (s.Owner.ToUpper().Contains(searchString.ToUpper()) || s.Renter.ToUpper().Contains(searchString.ToUpper()))));
                }
                BookingDetailModel model = new BookingDetailModel();
                var userlist             = bookingDetail.Skip((page - 1) * PageSize).Take(PageSize).ToList();
                if (userlist.Count > 0)
                {
                    model.lstBooking = userlist;
                }
                else
                {
                    model.lstBooking = null;
                }
                ViewBag.Message     = message;
                ViewBag.CurrentPage = page;
                ViewBag.PageSize    = PageSize;
                ViewBag.TotalPages  = Math.Ceiling((double)bookingDetail.Count() / PageSize);
                model.Total         = bookingDetail.Count();
                return(View(model));
            }
            return(View());
        }
Пример #5
0
        public IActionResult CreateNewBookingDetails([FromBody] BookingFormModel booking)
        {
            if (ModelState.IsValid)
            {
                BookingModel       bookingmodel       = new BookingModel();
                BookingDetailModel bookingDetailModel = new BookingDetailModel();
                Consignee          consignee          = new Consignee();
                Shipper            shipper            = new Shipper();
                bookingmodel.Consignee = consignee;
                bookingmodel.Shipper   = shipper;
                if (_dataAccessProvider.noOfSlotsTaken(booking.BookingTime) > 10)
                {
                    bookingDetailModel.BookingStatus = "Pending";
                    bookingDetailModel.IsActive      = false;
                    bookingmodel.IsActive            = false;
                }
                else
                {
                    bookingDetailModel.BookingStatus = "Approved";
                    bookingDetailModel.IsActive      = true;
                    bookingmodel.IsActive            = true;
                }
                DateTime date         = DateTime.Now;
                Guid     bookingobj   = Guid.NewGuid();
                Guid     consigneeobj = Guid.NewGuid();
                Guid     shipperobj   = Guid.NewGuid();
                bookingDetailModel.CreatedBy       = "Test";
                bookingmodel.CreatedBy             = "Test";
                bookingmodel.Consignee.CreatedBy   = "Test";
                bookingmodel.Shipper.CreatedBy     = "Test";
                bookingDetailModel.BookingDetailId = bookingobj;
                bookingmodel.BookingId             = bookingobj;
                bookingmodel.ClientId = booking.ClientId;
                bookingmodel.Consignee.ConsigneeId         = consigneeobj;
                bookingmodel.Shipper.ShipperId             = shipperobj;
                bookingDetailModel.CreatedDate             = DateTime.Now;
                bookingDetailModel.UpdatedDate             = DateTime.Now;
                bookingmodel.CreatedDate                   = DateTime.Now;
                bookingmodel.UpdatedDate                   = DateTime.Now;
                bookingmodel.Consignee.CreatedDate         = DateTime.Now;
                bookingmodel.Consignee.UpdatedDate         = DateTime.Now;
                bookingmodel.Shipper.CreatedDate           = DateTime.Now;
                bookingmodel.Shipper.UpdatedDate           = DateTime.Now;
                bookingmodel.Shipper.IsActive              = true;
                bookingmodel.Consignee.IsActive            = true;
                bookingDetailModel.BookingDate             = booking.BookingDate;
                bookingDetailModel.BookingTime             = booking.BookingTime;
                bookingDetailModel.BillOfLading            = booking.BillOfLading;
                bookingDetailModel.ExportDeclarationNumber = booking.ExportDeclarationNumber;
                bookingmodel.Shipper.Name                  = booking.ShipperName;
                bookingmodel.Shipper.Address1              = booking.ShipperAddress1;
                bookingmodel.Shipper.Address2              = booking.ShipperAddress2;
                bookingmodel.Shipper.Contact1              = booking.ShipperContactNo;
                bookingmodel.Shipper.Email                 = booking.ShipperEmail;
                bookingmodel.Consignee.Name                = booking.ConsigneeName;
                bookingmodel.Consignee.Address1            = booking.ConsigneeAddress1;
                bookingmodel.Consignee.Address2            = booking.ConsigneeAddress2;
                bookingmodel.Consignee.ContactNumber       = booking.ConsigneeContactNo;
                bookingmodel.Consignee.Email               = booking.ConsigneeEmail;
                bookingDetailModel.BookingType             = booking.BookingType;
                bookingDetailModel.VoyageDetails           = booking.VoyageDetails;
                bookingDetailModel.CountryOrigin           = booking.CountryOrigin;
                bookingDetailModel.CountryFinalDestination = booking.CountryFinalDestination;
                bookingDetailModel.PortLoading             = booking.PortOfLoading;
                bookingDetailModel.PortDischarge           = booking.PortOfDischarge;
                bookingDetailModel.DateDeparture           = booking.DateDeparture;
                bookingDetailModel.FinalDestination        = booking.FinalDestination;
                bookingDetailModel.DeclaredWeight          = booking.Weight;
                bookingDetailModel.DeclaredWidth           = booking.Width;
                bookingDetailModel.DeclaredLength          = booking.Length;
                bookingDetailModel.DeclaredHeight          = booking.Height;

                _dataAccessProvider.AddBookingDetails(bookingmodel.Consignee, bookingmodel.Shipper, bookingmodel, bookingDetailModel);
                SendBookingToWmsModel sendBookingToWMS = new SendBookingToWmsModel();
                sendBookingToWMS = _dataAccessProvider.SendBookingDataToWMS(booking, bookingobj);


                return(Ok(sendBookingToWMS));


                return(Ok(new
                {
                }));
            }
            return(BadRequest(ModelState));
        }