Esempio n. 1
0
        public JsonResult PayoutMethodList()
        {
            var provider = new PayoutMethodProvider(_dbContext);
            var list     = provider.PayoutMethodList();

            return(Json(list, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public JsonResult PayoutMethodNames()
        {
            var provider = new PayoutMethodProvider(_dbContext);
            var names    = provider.PayoutMethodList().Select(x => x.Text).ToList();

            names.Insert(0, "");
            return(Json(names, JsonRequestBehavior.AllowGet));
        }
Esempio n. 3
0
        public JsonResult Update(string model) // parameter must be the same json object defined in parameterMap in kendo's datasource
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            var clientModel = JsonConvert.DeserializeObject <PayoutMethodViewModel>(model);

            try
            {
                var          dataProvider = new PayoutMethodProvider(_dbContext);
                PayoutMethod entity       = dataProvider.Retrieve(clientModel.PayoutMethodId);
                dataProvider.MapData(clientModel, ref entity);
                dataProvider.Update(entity.PayoutMethodId, entity);

                // update properties if changed
                var propertyToUpdate = dataProvider.PropertyToUpdate(entity.PayoutMethodId, clientModel.SelectedPropertyCodes);
                if (propertyToUpdate != null)
                {
                    _dbContext.PropertyPayoutMethods.RemoveRange(propertyToUpdate);
                    foreach (var newProperty in clientModel.SelectedPropertyCodes)
                    {
                        _dbContext.PropertyPayoutMethods.Add(new PropertyPayoutMethod
                        {
                            PropertyCode   = newProperty.Value,
                            PayoutMethodId = entity.PayoutMethodId
                        });
                    }
                }

                dataProvider.Commit();

                return(Json(clientModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var    innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                string message           = string.Format("Saving Expense {0:d} fails. {1} - {2}", 0, ex.Message, innerErrorMessage);
                return(InternalError(message, "fail", ex));
            }
        }
Esempio n. 4
0
        public JsonResult Retrieve()
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            try
            {
                var provider      = new PayoutMethodProvider(_dbContext);
                var payoutMethods = provider.All();
                return(Json(payoutMethods, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var    innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                string message           = string.Format("Retrieving payout Methods fails. {0} - {1}", ex.Message, innerErrorMessage);
                return(InternalError(message, string.Empty));
            }
        }
Esempio n. 5
0
        public JsonResult Delete(string model)
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            var entity = JsonConvert.DeserializeObject <PayoutMethodViewModel>(model);

            try
            {
                var dataProvider = new PayoutMethodProvider(_dbContext);
                dataProvider.Delete(entity.PayoutMethodId); // will do cascade deletion of relation table
                dataProvider.Commit();
                return(Json("success", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(InternalError(string.Format("Delete Expense {0:d} fails.", 0), "fail", ex));
            }
        }
Esempio n. 6
0
        public JsonResult Create(string model)
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            var payoutMethodModel = JsonConvert.DeserializeObject <PayoutMethodViewModel>(model);

            try
            {
                var          dataProvider = new PayoutMethodProvider(_dbContext);
                PayoutMethod entity       = new PayoutMethod();
                dataProvider.MapData(payoutMethodModel, ref entity);
                dataProvider.Create(entity);
                dataProvider.Commit();

                payoutMethodModel.PayoutMethodId = entity.PayoutMethodId; // set the created Id to return to kendo grid

                foreach (var m in payoutMethodModel.SelectedPropertyCodes)
                {
                    _dbContext.PropertyPayoutMethods.Add(new PropertyPayoutMethod
                    {
                        PayoutMethodId = entity.PayoutMethodId,
                        PropertyCode   = m.Value,
                    });
                }
                dataProvider.Commit();

                return(Json(payoutMethodModel, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var    innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                string message           = string.Format("Saving Expense {0:d} fails. {1} - {2}", 0, ex.Message, innerErrorMessage);
                return(InternalError(message, string.Empty));
            }
        }