Пример #1
0
        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));
            }
        }
Пример #2
0
        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;
            }
        }