/// <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); }
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); }