示例#1
0
        public async Task <IActionResult> Put(int id, [FromBody] SaveRequestModel model)
        {
            var request = this.requestService.GetById(id);

            if (request == null)
            {
                return(this.NotFound());
            }

            if (request.UserRequesterId != this.workContext.CurrentUserId)
            {
                return(this.Forbid());
            }

            request.Description = model.Description;
            request.GuestType   = model.GuestTypeId.Value;
            request.StartDate   = model.StartDate.Value;
            request.EndDate     = model.EndDate.Value;

            try
            {
                await this.requestService.UpdateAsync(id, request);

                return(this.Ok());
            }
            catch (DoctorHouseException e)
            {
                return(this.BadRequest(e));
            }
        }
        protected async Task <RequestModel> InsertRequestAsync(int?place = null, bool defaultAuthentication = true)
        {
            var saveRequest = new SaveRequestModel
            {
                Description = "description",
                GuestTypeId = GuestType.MedicalStaff,
                PlaceId     = place ?? 1,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            var response = await this.PostAsync <BaseModel>(
                "/api/v1/requests",
                saveRequest,
                defaultAuthentication : defaultAuthentication,
                removeAuthentication : false);

            var request = new RequestModel
            {
                Id          = response.Content.Id,
                Description = saveRequest.Description,
                GuestType   = saveRequest.GuestTypeId.Value,
                PlaceId     = saveRequest.PlaceId,
                StartDate   = saveRequest.StartDate.Value,
                EndDate     = saveRequest.EndDate.Value
            };

            request.Id = response.Content.Id;

            return(request);
        }
示例#3
0
        private void setSaveRequestModel()
        {
            SaveRequestModel request = new SaveRequestModel();

            request.Email               = email.Text.Trim().ToString();
            request.Password            = pass.Text.ToString();
            request.Fullname            = clientName.Text.Trim();
            request.Address             = clientAddress.Text.Trim();
            request.Phone1              = clientTell.Text.Trim();
            request.CityCd              = DropDownList1.SelectedValue;
            Session["SaveRequestModel"] = request;
        }
示例#4
0
        /// <summary>
        /// Execute convert input.
        /// </summary>
        /// <param name="request">RequestModel</param>
        /// <returns>DataModel</returns>
        private SaveDataModel Convert(SaveRequestModel request)
        {
            // Local variable declaration
            SaveDataModel inputObject = null;

            // Variable initialize
            inputObject = new SaveDataModel();

            // Convert data input
            DataHelper.ConvertInput(request, inputObject);

            // Return value
            return(inputObject);
        }
示例#5
0
        public async Task Put_NotFound_404()
        {
            var request = new SaveRequestModel
            {
                Description = "description",
                GuestTypeId = GuestType.MedicalStaff,
                PlaceId     = 1,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            var response = await this.PutAsync <EmptyContentModel>($"/api/v1/requests/0", request, defaultAuthentication : true);

            this.Assert404(response.Response);
        }
示例#6
0
        public async Task Put_NoSession_401()
        {
            var request = new SaveRequestModel
            {
                Description = "description",
                GuestTypeId = GuestType.MedicalStaff,
                PlaceId     = 1,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            var response = await this.PutAsync <EmptyContentModel>($"/api/v1/requests/1", request);

            this.Assert401(response.Response);
        }
示例#7
0
        public async Task Post_ValidModel_201()
        {
            var request = new SaveRequestModel
            {
                Description = "description",
                GuestTypeId = GuestType.MedicalStaff,
                PlaceId     = 1,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            var response = await this.PostAsync <BaseApiErrorModel>($"/api/v1/requests", request, defaultAuthentication : true);

            this.Assert201(response.Response);
        }
示例#8
0
        public async Task Put_OtherUser_403()
        {
            var request = new SaveRequestModel
            {
                Description = "description",
                GuestTypeId = GuestType.MedicalStaff,
                PlaceId     = 1,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            // Authenticate another user
            await this.InsertUserAsync(authenticate : true);

            var response = await this.PutAsync <BaseApiErrorModel>($"/api/v1/requests/1", request, defaultAuthentication : false, removeAuthentication : false);

            this.Assert403(response.Response);
        }
示例#9
0
        /// <summary>
        /// Execute processing.
        /// </summary>
        /// <param name="request">RequestModel</param>
        /// <returns>ResponseModel</returns>
        private SaveResponseModel Execute(SaveRequestModel request)
        {
            // Local variable declaration
            SaveResponseModel response     = null;
            SaveDataModel     inputObject  = null;
            SaveDataModel     resultObject = null;

            // Variable initialize
            response = new SaveResponseModel();

            // Execute convert input.
            inputObject = Convert(request);

            // Check processing
            Check(inputObject);

            // Save infomation
            resultObject = SaveInfo(inputObject);

            // Execute convert ouput.
            response = Convert(resultObject);

            return(response);
        }
示例#10
0
        public async Task Put_ValidModelAndUpdated_200()
        {
            var request = await this.InsertRequestAsync();

            var requestModel = new SaveRequestModel
            {
                Description = "description1",
                GuestTypeId = GuestType.Traveller,
                PlaceId     = 5,
                StartDate   = DateTime.UtcNow.AddMinutes(1),
                EndDate     = DateTime.UtcNow.AddMinutes(2)
            };

            var response = await this.PutAsync <EmptyContentModel>($"/api/v1/requests/{request.Id}", requestModel, defaultAuthentication : true);

            var updatedRequest = await this.GetRequestById(request.Id);

            this.Assert200(response.Response);
            Assert.AreEqual(StatusType.New, updatedRequest.Status); // remains new
            Assert.AreEqual(requestModel.Description, updatedRequest.Description);
            Assert.AreEqual(requestModel.GuestTypeId, updatedRequest.GuestType);
            Assert.AreEqual(requestModel.StartDate.Value.ToString("yyyy/MM/dd HH:mm:ss"), updatedRequest.StartDate.ToString("yyyy/MM/dd HH:mm:ss"));
            Assert.AreEqual(requestModel.EndDate.Value.ToString("yyyy/MM/dd HH:mm:ss"), updatedRequest.EndDate.ToString("yyyy/MM/dd HH:mm:ss"));
        }
示例#11
0
        public async Task <IActionResult> PostAsync([FromBody] SaveRequestModel model)
        {
            var request = new Request
            {
                GuestType       = model.GuestTypeId.Value,
                PlaceId         = model.PlaceId,
                UserRequesterId = this.workContext.CurrentUserId,
                StartDate       = model.StartDate.Value,
                EndDate         = model.EndDate.Value
            };

            try
            {
                await this.requestService.InsertAsync(request);

                var requestModel = this.mapper.Map <Request, RequestModel>(this.requestService.GetById(request.Id));

                return(this.CreatedAtAction(nameof(GetRequestById), requestModel, requestModel));
            }
            catch (DoctorHouseException ex)
            {
                return(this.BadRequest(ex));
            }
        }
示例#12
0
        /// <summary>
        /// Save process.
        /// </summary>
        /// <param name="request">RequestModel</param>
        /// <returns>ResponseModel</returns>
        public SaveResponseModel Invoke(SaveRequestModel request)
        {
            var response = Execute(request);

            return(response);
        }
示例#13
0
 public void Setup()
 {
     this.validator = new SaveRequestModelValidator();
     this.model     = new SaveRequestModel();
 }
示例#14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            if (Session["Cart"] == null || Session["payMethod"] == null)
            {
                Response.Redirect(Pages.CLIENT_INDEX);
            }
            if (Session["CheckoutRequestModel"] == null || Session["hasCheckout"] == null)
            {
                Response.Redirect(Pages.CLIENT_CHECKOUT);
            }
            if (Session["payMethod"].ToString().Equals("0") && Session["SaveRequestModel"] == null)
            {
                Response.Redirect(Pages.CLIENT_CHECKOUT);
            }
            else
            {
                Session["hasCheckout"] = null;
            }

            //load data
            MCodeCom          codeCom = new MCodeCom();
            IList <ComboItem> citylst = MCodeCom.ToComboItems(codeCom.GetListCity(), "294").ListItems;

            DropDownList1.DataSource = citylst;
            DropDownList1.DataBind();
            DropDownList1.SelectedValue = "294";
            DropDownList2.DataSource    = citylst;
            DropDownList2.DataBind();
            DropDownList2.SelectedValue = "294";

            if (Session["payMethod"].ToString().Equals("0"))
            {
                SaveRequestModel accCreate = (SaveRequestModel)Session["SaveRequestModel"];
                email.Text = accCreate.Email;
            }
            CheckoutRequestModel checkout = (CheckoutRequestModel)Session["CheckoutRequestModel"];
            Accept accept = checkout.Accept;

            clientName.Text             = accept.ClientName;
            clientAddress.Text          = accept.ClientAddress;
            clientTell.Text             = accept.ClientTel;
            DropDownList1.SelectedValue = accept.ClientCityCd;
            deliveryName.Text           = accept.DeliveryName;
            deliveryAddress.Text        = accept.DeliveryAddress;
            deliveryTell.Text           = accept.DeliveryTel;
            DropDownList2.SelectedValue = accept.DeliveryCityCd;
            note.Text = accept.Notes;
            if (accept.PaymentMethods == "01")
            {
                lblPay.Text = "Thanh toán tiền mặt khi nhận hàng";
            }
            else if (accept.PaymentMethods == "02")
            {
                lblPay.Text = "Thanh toán trực truyến bằng thẻ ATM - Internet Banking";
            }
            IList <CartItem> cart    = (IList <CartItem>)Session["Cart"];
            CartCom          cartCom = new CartCom(cart);
            decimal          amount  = cartCom.TotalAmount;
            decimal          ship    = 0;

            if (Session["GiftPrice"] != null && Session["GiftCd"] != null)
            {
                amount = amount - (decimal)Session["GiftPrice"];
            }
            total = amount;
            if (accept.DeliveryCityCd == "294")
            {
                if (amount < 200000)
                {
                    ship  = 20000;
                    total = total + ship;
                }
            }
            else
            {
                if (amount < 1000000)
                {
                    ship  = 30000;
                    total = total + ship;
                }
            }
            Label1.Text = DataHelper.ToString(Formats.CURRENCY, amount);
            if (ship != 0)
            {
                Label2.Text = DataHelper.ToString(Formats.CURRENCY, ship);
            }
            Label3.Text         = DataHelper.ToString(Formats.CURRENCY, total);
            Session["TotalAmt"] = total;
        }