public ReservationClient GetReservationClient(IReservationItem rsv, IClient client, IEnumerable <IResourceClient> resourceClients, IEnumerable <IReservationInviteeItem> invitees) { var physicalAccessUtil = GetPhysicalAccessUtility(); var inlab = physicalAccessUtil.ClientInLab(client.ClientID, rsv.LabID); return(ReservationClient.Create(rsv, client, resourceClients, invitees, inlab)); }
public ActionResult GetPositions(int sectorIdTo, string listPositions) { var list = MibClient2.Tools.MibJson.FromJsonString<List<int>>(listPositions); var reservationClient = new ReservationClient(apiConfig.GetString("ImxApiMediaUrl"), apiConfig.GetString("oAuthConsumerKey"), apiConfig.GetString("oAuthConsumerSecret"), 1); var positions = reservationClient.GetPositions(sectorIdTo, list); ; return Json(positions, JsonRequestBehavior.AllowGet); }
public ActionResult Delete(int reservationId) { ReservationClient client = new ReservationClient(); if (client.Delete(reservationId)) { TempData["message"] = string.Format($"The ReservationID {reservationId} was deleted"); } return(RedirectToAction("Index")); }
public ActionResult GetMatrixPositions(int sectorId, string minimumRow, string maximumRow, int minimumColumn, int maximumColumn, bool ascendingRow, bool ascendingColumn, MapRowSequenceType rowSequenceType) { var reservationClient = new ReservationClient(apiConfig.GetString("ImxApiMediaUrl"), apiConfig.GetString("oAuthConsumerKey"), apiConfig.GetString("oAuthConsumerSecret"), 1); var positions = reservationClient.GetPositionsByLocation(sectorId, minimumRow, maximumRow, minimumColumn, maximumColumn, ascendingRow, ascendingColumn, rowSequenceType); return Json(positions, JsonRequestBehavior.AllowGet); }
private ReservationStateArgs GetReservationStateArgs(IReservationItem rsv, int currentUserClientId, int inviteeClientId, bool inlab, DateTime now) { IClient client = Provider.Data.Client.GetClient(currentUserClientId); IEnumerable <IResourceClient> resourceClients = Provider.Scheduler.Resource.GetResourceClients(rsv.ResourceID); IEnumerable <IReservationInviteeItem> invitees = new[] { GetMockReservationInvitee(inviteeClientId, rsv.ReservationID) }; ReservationClient rc = Helper.GetReservationClient(rsv, client, resourceClients, invitees); rc.InLab = inlab; ReservationStateArgs result = ReservationStateArgs.Create(rsv, rc, now); return(result); }
public ReservationClient GetReservationClient(IReservationItem rsv, IEnumerable <IReservationInviteeItem> invitees, IClient client) { var resourceClients = Provider.Scheduler.Reservation.GetResourceClients(rsv.ResourceID); var userAuth = Reservations.GetAuthLevel(resourceClients, client); var result = new ReservationClient { ClientID = client.ClientID, ReservationID = rsv.ReservationID, ResourceID = rsv.ResourceID, IsReserver = rsv.ClientID == client.ClientID, IsInvited = invitees.Any(x => x.InviteeID == client.ClientID), InLab = ClientInLab(rsv.LabID), UserAuth = userAuth }; return(result); }
public ActionResult Edit(Reservation reservation) { if (ModelState.IsValid) { ReservationClient client = new ReservationClient(); if (reservation.ReservationId == 0) { client.Create(reservation); } else { if (client.Update(reservation)) { TempData["message"] = string.Format($"The ReservationID " + $"{reservation.ReservationId} has been saved"); } } return(RedirectToAction("Index")); } else { return(View(reservation)); } }
public ReservationState GetReservationCell(CustomTableCell rsvCell, IReservationItem rsv, ReservationClient client, IEnumerable <IReservationProcessInfo> reservationProcessInfos, IEnumerable <IReservationInviteeItem> invitees, LocationPathInfo locationPath, ViewType view, DateTime now) { int reservationId = rsv.ReservationID; int resourceId = rsv.ResourceID; // Reservation State var args = ReservationStateArgs.Create(rsv, client, now); var state = ReservationStateUtility.Create(now).GetReservationState(args); // Tooltip Caption and Text string caption = Reservations.GetReservationCaption(state); string toolTip = Reservations.Create(Provider, now).GetReservationToolTip(rsv, state, reservationProcessInfos, invitees); rsvCell.Attributes["data-tooltip"] = toolTip; rsvCell.Attributes["data-caption"] = caption; // Remove the create reservation link if it was added. if (rsvCell.Controls.Count > 0) { rsvCell.Controls.Clear(); } // BackGround color and cursor - set by CSS rsvCell.CssClass = state.ToString(); var div = new HtmlGenericControl("div"); div.Attributes.Add("class", "reservation-container"); var cellText = rsv.DisplayName; if (rsv.RecurrenceID.GetValueOrDefault(-1) > 0) { cellText += " [R]"; } // Reservation Text Literal litReserver = new Literal { Text = $"<div class=\"cell-text\">{cellText}</div>" }; div.Controls.Add(litReserver); // Delete Button // 2/11/05 - GPR: allow tool engineers to cancel any non-started, non-repair reservation in the future ClientAuthLevel userAuth = args.UserAuth; PathInfo path = PathInfo.Create(rsv.BuildingID, rsv.LabID, rsv.ProcessTechID, rsv.ResourceID); string navurl; //if (state == ReservationState.Editable || state == ReservationState.StartOrDelete || state == ReservationState.StartOnly || (userAuth == ClientAuthLevel.ToolEngineer && DateTime.Now < rsv.BeginDateTime && rsv.ActualBeginDateTime == null && state != ReservationState.Repair)) // [2020-09-18 jg] StartOnly should not allow delete and NotInLab should allow delete if (CanDeleteReservation(state, args, now)) { navurl = UrlUtility.GetDeleteReservationUrl(rsv.ReservationID, rsvCell.CellDate, state, view); var hypDelete = new HyperLink { NavigateUrl = NavigateUrl(navurl, path, locationPath), ImageUrl = "~/images/deleteGrid.gif", CssClass = "ReservDelete" }; hypDelete.Attributes["data-tooltip"] = "Click to cancel reservation"; hypDelete.Attributes["data-caption"] = "Cancel this reservation"; div.Controls.Add(hypDelete); rsvCell.HorizontalAlign = HorizontalAlign.Left; rsvCell.VerticalAlign = VerticalAlign.Top; } // 2011/04/03 Modify button // [2020-09-18 jg] StartOnly should not allow modification (also NotInLab should not allow modification) //if (state == ReservationState.Editable || state == ReservationState.StartOrDelete || state == ReservationState.StartOnly) if (CanModifyReservation(state, args, now)) { navurl = UrlUtility.GetModifyReservationUrl(rsv.ReservationID, rsvCell.CellDate, state, view); var hypModify = new HyperLink { NavigateUrl = NavigateUrl(navurl, path, locationPath), ImageUrl = "~/images/edit.png", CssClass = "ReservModify" }; hypModify.Attributes["data-tooltip"] = "Click to modify reservation"; hypModify.Attributes["data-caption"] = "Modify this reservation"; div.Controls.Add(hypModify); rsvCell.HorizontalAlign = HorizontalAlign.Left; rsvCell.VerticalAlign = VerticalAlign.Top; } rsvCell.Controls.Add(div); return(state); }
public ViewResult Edit(int reservationId) { ReservationClient client = new ReservationClient(); return(View(client.Read(reservationId))); }
public ActionResult Index() { ReservationClient client = new ReservationClient(); return(View(client.ReadAll())); }