Example #1
0
 /// <summary>
 /// Xử lý calc.
 /// </summary>
 /// <param name="inputObject">DataModel</param>
 /// <returns>DataModel</returns>
 public CalcDataModel Execute(CalcDataModel inputObject)
 {
     // Kiểm tra thông tin
     Check(inputObject);
     // Lấy thông tin
     var resultObject = GetInfo(inputObject);
     // Kết quả trả về
     return resultObject;
 }
Example #2
0
 /// <summary>
 /// Kiểm tra thông tin.
 /// </summary>
 /// <param name="inputObject">DataModel</param>
 private void Check(CalcDataModel inputObject)
 {
     // Khởi tạo biến cục bộ
     var masterDataCom = new MasterDataCom();
     // Kiểm tra bắt buộc
     if (DataCheckHelper.IsNull(inputObject.TypeCd)) {
         throw new SysIgnoreException();
     }
     if (DataCheckHelper.IsNull(inputObject.DateFrom)) {
         throw new SysIgnoreException();
     }
     if (DataCheckHelper.IsNull(inputObject.DateTo)) {
         throw new SysIgnoreException();
     }
     if (DataCheckHelper.IsNull(inputObject.RoomQty)) {
         throw new SysIgnoreException();
     }
     // Kiểm tra dữ liệu tồn tại
     var isExist = masterDataCom.IsExistRoomType(
         WebContextHelper.LocaleCd, inputObject.TypeCd, false);
     if (!isExist) {
         throw new SysIgnoreException();
     }
 }
Example #3
0
 /// <summary>
 /// Lấy thông tin.
 /// </summary>
 /// <param name="inputObject">DataModel</param>
 /// <returns>DataModel</returns>
 private CalcDataModel GetInfo(CalcDataModel inputObject)
 {
     // Khởi tạo biến cục bộ
     var getResult = new CalcDataModel();
     var masterDataCom = new MasterDataCom();
     var parameterCom = new ParameterCom();
     var total = decimal.Zero;
     var pickUpPrice = decimal.Zero;
     var seeOffPrice = decimal.Zero;
     // Map dữ liệu
     DataHelper.CopyObject(inputObject, getResult);
     // Lấy thông tin
     var dataInfo = masterDataCom.GetInfoRoomType(
         WebContextHelper.LocaleCd, inputObject.TypeCd, false);
     // Lấy giá phòng và số ngày thuê
     var price = dataInfo.Price.Value;
     var roomQty = inputObject.RoomQty.Value;
     var days = GetDays(inputObject.DateFrom.Value, inputObject.DateTo.Value);
     // Lấy số tiền dưa đón khách
     if (inputObject.HasPickUp.HasValue && inputObject.HasPickUp.Value) {
         pickUpPrice = parameterCom.GetNumber(W150901Logics.CD_PARAM_CD_BOOKING_PICKUP, true).Value;
     }
     if (inputObject.HasSeeOff.HasValue && inputObject.HasSeeOff.Value) {
         seeOffPrice = parameterCom.GetNumber(W150901Logics.CD_PARAM_CD_BOOKING_SEEOFF, true).Value;
     }
     // Tiến hành tính toán tổng tiền
     total = (price * roomQty * days) + pickUpPrice + seeOffPrice;
     // Gán giá trị trả về
     getResult.Total = total;
     getResult.Price = price;
     getResult.Days = days;
     getResult.PickUpPrice = pickUpPrice;
     getResult.SeeOffPrice = seeOffPrice;
     // Kết quả trả về
     return getResult;
 }