/// <summary>
        /// Adds an availability block.
        /// </summary>
        /// <param name="block">The availability block.</param>
        /// <returns>The identifier of the added availability block.</returns>
        public int AddAvailabilityBlock(AvailabilityBlock block)
        {
            var newBlock = CntRestHelper.JSONRequest <AvailabilityBlock>(Constants.NTMOBILE_BASEURL + "/availability-block/", _Client.UserName, _Client.Password, block, CntRestHelper.RequestMethod.POST).Data;

            block.Id = newBlock.Id;
            return(block.Id);
        }
 private void LoadAvailabilityBlock()
 {
     if (AvailabilityBlockId > 0)
     {
         try {
             Client client = AuthenticationHelper.GetClient();
             AvailabilityBlock = client.AvailabilityService.GetAvailabilityBlock(AvailabilityBlockId);
             string weekDaysString = AvailabilityBlock.Weekdays
                                     .Replace("Weekdays", "Monday, Tuesday, Wednesday, Thursday, Friday")
                                     .Replace("Weekend", "Sunday, Saturday")
                                     .Replace("All", "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday");
             WeekDays = new List <string> (Array.ConvertAll(weekDaysString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), p => p.Trim()));
             Times    = new List <TimeBlock> (AvailabilityBlock.Times);
         } catch (CntResponseException ex) {
             Utility.ShowError(ex);
         }
     }
     else
     {
         Times.Add(new TimeBlock()
         {
             Start = defaultStart, Duration = defaultDuration
         });
         AvailabilityBlock = new AvailabilityBlock()
         {
             UserId = AuthenticationHelper.UserData.UserId,
             Start  = Start,
             End    = End,
             Times  = Times
         };
     }
 }
            public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
            {
                UITableViewCell   cell              = new UITableViewCell();
                int               rowIndex          = indexPath.Row;
                AvailabilityBlock availabilityBlock = controller.availabilityBlocks [rowIndex];

                cell = tableView.DequeueReusableCell(AvailabilityCellId, indexPath);
                RenderAvailabilityCell((OSAvailabilityCell)cell, rowIndex, availabilityBlock);
                return(cell);
            }
 private void LoadAvailabilityBlock()
 {
     availabilityBlock = new AvailabilityBlock()
     {
         UserId = AuthenticationHelper.UserData.UserId,
         Start  = Start,
         End    = End,
         Times  = new List <TimeBlock> ()
         {
             new TimeBlock()
         }
     };
     weekDays = new List <string> ();
 }
            private void RenderAvailabilityCell(OSAvailabilityCell cell, int row, AvailabilityBlock availabilityBlock)
            {
                cell.RowIndex        = row;
                cell.DatesLabel.Text = availabilityBlock.ToDatesString();
                cell.DaysOfWeek.Text = availabilityBlock.Weekdays;
                if (availabilityBlock.Times != null)
                {
                    cell.TimesLabel.Text = String.Join("\n", availabilityBlock.Times.Select(t => t.ToTimesString()));
                    int lines = availabilityBlock.Times.Count();
                    cell.TimesLabel.Lines = lines;
                    if (cell.TimesLabel.Frame.Height != (lines * 17))
                    {
                        cell.TimesLabel.AdjustFrame(0, 0, 0, (lines * 17) - cell.TimesLabel.Frame.Height);
                    }
                }

                cell.InitEventHandlers(controller);
            }
Example #6
0
        public static string ToDatesString(this AvailabilityBlock availabilityBlock)
        {
            if (availabilityBlock == null)
            {
                return(String.Empty);
            }
            string datesString = availabilityBlock.Start.ToString("MMM d");

            if (availabilityBlock.End.HasValue)
            {
                if (availabilityBlock.End.Value != availabilityBlock.Start)
                {
                    datesString += " - " + availabilityBlock.End.Value.ToString("MMM dd");
                }
            }
            else
            {
                datesString += " and After";
            }
            return(datesString);
        }
 /// <summary>
 /// Updates an availability block.
 /// </summary>
 /// <param name="block">The availability block.</param>
 /// <returns><c>true</c> if the availability block was updated, <c>false</c> otherwise.</returns>
 public void UpdateAvailabilityBlock(AvailabilityBlock block)
 {
     CntRestHelper.JSONRequest(Constants.NTMOBILE_BASEURL + "/availability-block/" + block.Id, _Client.UserName, _Client.Password, block, CntRestHelper.RequestMethod.PUT);
 }