コード例 #1
0
        public IHttpActionResult Edit(int id, EditTranscationBindingModel formData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (formData.DateTransacted.Year < 1900 || formData.DateTransacted.Year > 2100)
            {
                ModelState.AddModelError("Date", "Date is not vaild.");
                return(BadRequest(ModelState));
            }

            var validCatId = TransactionHelper
                             .IsCategoryBelongToSameHhByTransId(id, formData.CategoryId);

            if (!validCatId)
            {
                ModelState
                .AddModelError("CategoryId", "You don't share the same Household with this Cat.");
                return(BadRequest(ModelState));
            }

            var transcation = TransactionHelper.GetByIdWithHhViaCat(id);

            if (transcation == null)
            {
                return(NotFound());
            }

            if (transcation.IsVoid == true)
            {
                ModelState.AddModelError("IsVoid", "Cannot edit void transcation");
                return(BadRequest(ModelState));
            }

            if (IsAuthorized(transcation, CurrentUserID))
            {
                return(Unauthorized());
            }

            // For Calculation of Balance For Editing
            var oldVal = transcation.Amount;

            Mapper.Map(formData, transcation);
            transcation.DateUpdated = DateTime.Now;
            DbContext.SaveChanges();

            EditCalculateBalance(transcation.BankAccountId, transcation, oldVal);

            var viewModel = Mapper.Map <TranscationViewModel>(transcation);

            return(Ok(viewModel));
        }
コード例 #2
0
        public ActionResult Edit(int?id, int?baId)
        {
            if (!id.HasValue || !baId.HasValue)
            {
                return(RedirectToAction(nameof(TransactionController.IndexBa)));
            }

            var response = SendReqGetRes(true, id, "Transaction", "GetById");

            if (response.IsSuccessStatusCode)
            {
                var dataTrans        = RequestHelper.ReadResponse(response);
                var transactionModel = JsonConvert
                                       .DeserializeObject <EditTranscationBindingModel>(dataTrans);

                var responseCat = SendReqGetRes(true, baId, "Category", "GetAllByHhBaId");

                if (responseCat.IsSuccessStatusCode)
                {
                    transactionModel.Categories = MakeNewDropDownList(ReadOutputDropDownList(responseCat));
                    return(View(transactionModel));
                }
                else if (responseCat.StatusCode == HttpStatusCode.NotFound)
                {
                    AddTempDataMsg(false);
                    return(View("Error"));
                }
            }
            else if (response.StatusCode == HttpStatusCode.NotFound)
            {
                var model = new EditTranscationBindingModel();
                return(View(model));
            }


            return(View("Error"));
        }
コード例 #3
0
        public ActionResult Edit(int id, int baId, EditTranscationBindingModel formData)
        {
            if (!ModelState.IsValid)
            {
                var responseCat = SendReqGetResCatDropDownListByBa(baId);

                if (responseCat.IsSuccessStatusCode)
                {
                    formData.Categories     = MakeNewDropDownList(ReadOutputDropDownList(responseCat));
                    formData.DateTransacted = DateTime.Today;
                    return(View(formData));
                }
                else if (responseCat.StatusCode == HttpStatusCode.NotFound)
                {
                    AddTempDataMsg(false);
                    return(View("Error"));
                }
            }

            var     title          = formData.Title;
            var     description    = formData.Description;
            int     categoryId     = formData.CategoryId;
            var     dateTransacted = formData.DateTransacted;
            decimal amount         = formData.Amount;

            var parameters = new List <KeyValuePair <string, string> >();

            parameters.Add(new KeyValuePair <string, string>("title", title));
            parameters.Add(new KeyValuePair <string, string>("description", description));
            parameters.Add(new KeyValuePair <string, string>("amount", amount.ToString()));
            parameters.Add(new KeyValuePair <string, string>("categoryId", categoryId.ToString()));
            parameters.Add(new KeyValuePair <string, string>("dateTransacted", dateTransacted.ToString()));

            var response = RequestHelper.SendGetRequestAuth(parameters, "Transaction"
                                                            , "Edit", id, MyToken, CusHttpMethod.Put);

            if (response.IsSuccessStatusCode)
            {
                return(ToShowMe(baId));
            }

            if (response.StatusCode == HttpStatusCode.NotFound)
            {
                ViewBag.Nf = true;
                return(View("NofoundAuth"));
            }
            else if (response.StatusCode == HttpStatusCode.Unauthorized)
            {
                ViewBag.Nf = false;
                return(View("NofoundAuth"));
            }
            else if (response.StatusCode == HttpStatusCode.InternalServerError)
            {
                CusAddTempDataMsg("Date Transacted maybe not valid");
                return(View("Error"));
            }
            else if (response.StatusCode != HttpStatusCode.BadRequest)
            {
                return(View("Error"));
            }

            if (response.StatusCode == HttpStatusCode.BadRequest)
            {
                BadRequestSmall(response);

                var responseCat = SendReqGetResCatDropDownListByBa(baId);

                if (responseCat.IsSuccessStatusCode)
                {
                    formData.Categories = MakeNewDropDownList(ReadOutputDropDownList(responseCat));
                    return(View(formData));
                }
                else if (responseCat.StatusCode == HttpStatusCode.NotFound)
                {
                    AddTempDataMsg(false);
                    return(View("Error"));
                }

                return(View("Error"));
            }

            return(View("Error"));
        }