Example #1
0
        public JsonResult PayoutEntityList()
        {
            var provider = new PropertyEntityProvider(_dbContext);
            var list     = provider.GetAll().Select(x => x.EntityName)
                           //.Select(x => new SelectListItem
                           //{
                           //    Text = x.EntityName,
                           //    Value = x.PropertyEntityId.ToString()
                           //})
                           .ToList();

            list.Insert(0, "");
            return(Json(list, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public JsonResult Update(string model) // parameter must be the same json object defined in parameterMap in kendo's datab source
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

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

            try
            {
                var dataProvider = new PropertyEntityProvider(_dbContext);
                var entity       = dataProvider.Retrieve(clientModel.PropertyEntityId);
                dataProvider.MapData(clientModel, ref entity);
                dataProvider.Update(entity.PropertyEntityId, entity);

                // update properties if changed
                var propertyToUpdate = dataProvider.PropertyToUpdate(entity.PropertyEntityId, clientModel.SelectedPropertyCodes);
                if (propertyToUpdate != null)
                {
                    _dbContext.PropertyCodePropertyEntities.RemoveRange(propertyToUpdate);
                    foreach (var m in clientModel.SelectedPropertyCodes)
                    {
                        _dbContext.PropertyCodePropertyEntities.Add(new PropertyCodePropertyEntity
                        {
                            PropertyEntityId = entity.PropertyEntityId,
                            PropertyCode     = m.Value,
                        });
                    }
                }

                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 Property Entity {0:d} fails. {1} - {2}", clientModel.PropertyEntityId, ex.Message, innerErrorMessage);
                return(InternalError(message, "fail", ex));
            }
        }
Example #3
0
        public JsonResult Retrieve()
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            try
            {
                var provider         = new PropertyEntityProvider(_dbContext);
                var propertyEntities = provider.All();
                return(Json(propertyEntities, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                var    innerErrorMessage = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                string message           = string.Format("Retrieving Property Entities fails. {0} - {1}", ex.Message, innerErrorMessage);
                return(InternalError(message, string.Empty));
            }
        }
Example #4
0
        public JsonResult Delete(string model)
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

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

            try
            {
                var dataProvider = new PropertyEntityProvider(_dbContext);
                dataProvider.Delete(clientModel.PropertyEntityId); // will do cascade deletion of relation table
                dataProvider.Commit();
                return(Json("success", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(InternalError(string.Format("Delete Property Entity {0:d} fails.", clientModel.PropertyEntityId), "fail", ex));
            }
        }
Example #5
0
        public JsonResult Create(string model)
        {
            if (!AuthorizationProvider.IsStatementAdmin())
            {
                return(Forbidden());
            }

            var entityModel = JsonConvert.DeserializeObject <PropertyEntityViewModel>(model);

            try
            {
                var dataProvider = new PropertyEntityProvider(_dbContext);
                var entity       = new PropertyEntity();
                dataProvider.MapData(entityModel, ref entity);
                dataProvider.Create(entity);
                dataProvider.Commit();                                  // need to commit to get the newly inserted PropertyEntityId

                entityModel.PropertyEntityId = entity.PropertyEntityId; // set the created Id to return to kendo grid

                foreach (var m in entityModel.SelectedPropertyCodes)
                {
                    _dbContext.PropertyCodePropertyEntities.Add(new PropertyCodePropertyEntity
                    {
                        PropertyEntityId = entity.PropertyEntityId,
                        PropertyCode     = m.Value,
                    });
                }
                dataProvider.Commit();

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