public JsonResult SplitReservation(ResevationSplitModel form) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } try { var dataProvider = new ReservationRevenueProvider(_dbContext); var result = dataProvider.SplitReservation(form); if (result != null) { return(Json(result.Value.ToString(), JsonRequestBehavior.AllowGet)); } else { return(Json("-1", JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { var innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty; string message = string.Format("Splitting Reservation {0:d} for property code {1} fails. {2},{3}", form.ReservationId, form.PropertyCode, ex.Message, innerErrorMessage); return(InternalError(message, string.Empty, ex)); } }
public ActionResult SplitRevenue(int Id) { if (!AuthorizationProvider.CanEditRevenue()) { return(Forbidden()); } var model = new ResevationSplitModel(); try { var provider = new ReservationRevenueProvider(_dbContext); var entity = provider.Retrieve(Id); if (entity != null) { model.ReservationId = Id; model.PropertyCode = entity.PropertyCode; model.ConfirmationCode = entity.ConfirmationCode; model.ReservationAmount = entity.TotalRevenue; ViewBag.Title = "Split Reservation"; } } catch { } return(PartialView("_ReservationSplitPartial", model)); }
public int?SplitReservation(ResevationSplitModel model) { try { SqlParameter[] sqlParams = new SqlParameter[2]; sqlParams[0] = new SqlParameter("@ReservationId", SqlDbType.Int); sqlParams[0].Value = model.ReservationId; sqlParams[1] = new SqlParameter("@PropertyCodes", SqlDbType.NVarChar); sqlParams[1].Value = String.Join(";", model.TargetProperties); var sql = _context.Database.SqlQuery <SqlResultModel>("SplitReservation @ReservationId, @PropertyCodes", sqlParams).FirstOrDefault(); return(sql == null ? null : sql.Result); } catch { throw; } }