Ejemplo n.º 1
0
        public IActionResult UpdateRecordViewByName(string Name, string ViewName, [FromBody]JObject submitObj)
        {
            RecordViewResponse response = new RecordViewResponse();

            InputRecordView view = new InputRecordView();

            Type inputViewType = view.GetType();

            foreach (var prop in submitObj.Properties())
            {
                int count = inputViewType.GetProperties().Where(n => n.Name.ToLower() == prop.Name.ToLower()).Count();
                if (count < 1)
                    response.Errors.Add(new ErrorModel(prop.Name, prop.Value.ToString(), "Input object contains property that is not part of the object model."));
            }

            if (response.Errors.Count > 0)
                return DoBadRequestResponse(response);

            try
            {
                view = InputRecordView.Convert(submitObj);
            }
            catch (Exception e)
            {
                return DoBadRequestResponse(response, "Input object is not in valid format! It cannot be converted.", e);
            }

            return DoResponse(entMan.UpdateRecordView(Name, view));
        }
Ejemplo n.º 2
0
        public IActionResult PatchRecordViewByName(string Name, string ViewName, [FromBody]JObject submitObj)
        {
            RecordViewResponse response = new RecordViewResponse();
            Entity entity = new Entity();
            InputRecordView view = new InputRecordView();

            try
            {
                DbEntity storageEntity = DbContext.Current.EntityRepository.Read(Name);
                if (storageEntity == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "Entity with such Name does not exist!";
                    return DoBadRequestResponse(response);
                }
                entity = storageEntity.MapTo<Entity>();

                RecordView updatedView = entity.RecordViews.FirstOrDefault(v => v.Name == ViewName);
                if (updatedView == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "View with such Name does not exist!";
                    return DoBadRequestResponse(response);
                }
                view = updatedView.MapTo<InputRecordView>();

                Type inputViewType = view.GetType();
                foreach (var prop in submitObj.Properties())
                {
                    int count = inputViewType.GetProperties().Where(n => n.Name.ToLower() == prop.Name.ToLower()).Count();
                    if (count < 1)
                        response.Errors.Add(new ErrorModel(prop.Name, prop.Value.ToString(), "Input object contains property that is not part of the object model."));
                }

                if (response.Errors.Count > 0)
                    return DoBadRequestResponse(response);

                InputRecordView inputView = InputRecordView.Convert(submitObj);

                foreach (var prop in submitObj.Properties())
                {
                    if (prop.Name.ToLower() == "name")
                        view.Name = inputView.Name;
                    if (prop.Name.ToLower() == "label")
                        view.Label = inputView.Label;
                    if (prop.Name.ToLower() == "title")
                        view.Title = inputView.Title;
                    if (prop.Name.ToLower() == "default")
                        view.Default = inputView.Default;
                    if (prop.Name.ToLower() == "system")
                        view.System = inputView.System;
                    if (prop.Name.ToLower() == "weight")
                        view.Weight = inputView.Weight;
                    if (prop.Name.ToLower() == "cssclass")
                        view.CssClass = inputView.CssClass;
                    if (prop.Name.ToLower() == "type")
                        view.Type = inputView.Type;
                    if (prop.Name.ToLower() == "regions")
                        view.Regions = inputView.Regions;
                    if (prop.Name.ToLower() == "sidebar")
                        view.Sidebar = inputView.Sidebar;
                    if (prop.Name.ToLower() == "iconname")
                        view.IconName = inputView.IconName;
                    if (prop.Name.ToLower() == "dynamichtmltemplate")
                        view.DynamicHtmlTemplate = inputView.DynamicHtmlTemplate;
                    if (prop.Name.ToLower() == "datasourceurl")
                        view.DataSourceUrl = inputView.DataSourceUrl;
                    if (prop.Name.ToLower() == "actionitems")
                        view.ActionItems = inputView.ActionItems;
                    if (prop.Name.ToLower() == "servicecode")
                        view.ServiceCode = inputView.ServiceCode;
                }
            }
            catch (Exception e)
            {
                return DoBadRequestResponse(response, "Input object is not in valid format! It cannot be converted.", e);
            }

            return DoResponse(entMan.UpdateRecordView(entity, view));
        }
Ejemplo n.º 3
0
        public IActionResult CreateRecordViewByName(string Name, [FromBody]JObject submitObj)
        {
            RecordViewResponse response = new RecordViewResponse();

            InputRecordView view = new InputRecordView();
            try
            {
                view = InputRecordView.Convert(submitObj);
            }
            catch (Exception e)
            {
                return DoBadRequestResponse(response, "Input object is not in valid format! It cannot be converted.", e);
            }

            return DoResponse(entMan.CreateRecordView(Name, view));
        }
Ejemplo n.º 4
0
        private RecordViewResponse ReadRecordView(Entity entity, RecordView recordView)
        {
            RecordViewResponse response = new RecordViewResponse
            {
                Success = true,
                Message = "The record view was successfully returned!",
            };

            try
            {
                response.Object = recordView;
            }
            catch (Exception e)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
            #if DEBUG
                response.Message = e.Message + e.StackTrace;
            #else
                response.Message = "An internal error occurred!";
            #endif
                return response;
            }

            response.Timestamp = DateTime.Now;

            return response;
        }
Ejemplo n.º 5
0
        public RecordViewResponse CreateRecordView(string entityName, InputRecordView inputRecordView)
        {
            RecordViewResponse response = new RecordViewResponse();

            IStorageEntity storageEntity = EntityRepository.Read(entityName);

            if (storageEntity == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Entity with such name does not exist!";
                return response;
            }

            Entity entity = storageEntity.MapTo<Entity>();

            return CreateRecordView(entity, inputRecordView);
        }
Ejemplo n.º 6
0
        public RecordViewResponse UpdateRecordView(Entity entity, InputRecordView inputRecordView)
        {
            RecordViewResponse response = new RecordViewResponse
            {
                Success = true,
                Message = "The record view was successfully updated!",
            };

            RecordView recordView = inputRecordView.MapTo<RecordView>();

            try
            {
                response.Object = recordView;
                response.Errors = ValidateRecordView(entity, inputRecordView, true);

                recordView = inputRecordView.MapTo<RecordView>();

                if (response.Errors.Count > 0)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not updated. Validation error occurred!";
                    return response;
                }

                RecordView recordViewForDelete = entity.RecordViews.FirstOrDefault(r => r.Id == recordView.Id);
                if (recordViewForDelete.Id == recordView.Id)
                    entity.RecordViews.Remove(recordViewForDelete);

                entity.RecordViews.Add(recordView);

                IStorageEntity updatedEntity = entity.MapTo<IStorageEntity>();
                bool result = EntityRepository.Update(updatedEntity);
                if (!result)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not updated! An internal error occurred!";
                    return response;
                }

            }
            catch (Exception e)
            {
                response.Success = false;
                response.Object = recordView;
                response.Timestamp = DateTime.UtcNow;
            #if DEBUG
                response.Message = e.Message + e.StackTrace;
            #else
                response.Message = "The record view was not updated. An internal error occurred!";
            #endif
                return response;
            }

            return ReadRecordView(entity.Id, recordView.Id);
        }
Ejemplo n.º 7
0
        private RecordViewResponse CreateRecordView(Entity entity, InputRecordView inputRecordView)
        {
            RecordViewResponse response = new RecordViewResponse
            {
                Success = true,
                Message = "The record view was successfully created!",
            };

            if (!inputRecordView.Id.HasValue)
                inputRecordView.Id = Guid.NewGuid();

            RecordView recordView = inputRecordView.MapTo<RecordView>();

            try
            {
                response.Object = recordView;
                response.Errors = ValidateRecordView(entity, inputRecordView, false);

                recordView = inputRecordView.MapTo<RecordView>();

                if (response.Errors.Count > 0)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not created. Validation error occurred!";
                    return response;
                }

                entity.RecordViews.Add(recordView);

                IStorageEntity updatedEntity = entity.MapTo<IStorageEntity>();
                bool result = EntityRepository.Update(updatedEntity);
                if (!result)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not created! An internal error occurred!";
                    return response;
                }
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Object = recordView;
                response.Timestamp = DateTime.UtcNow;
            #if DEBUG
                response.Message = e.Message + e.StackTrace;
            #else
                response.Message = "The record view was not created. An internal error occurred!";
            #endif
                return response;
            }

            return ReadRecordView(entity.Id, recordView.Id);
        }
Ejemplo n.º 8
0
        public RecordViewResponse ReadRecordView(string entityName, string name)
        {
            RecordViewResponse response = new RecordViewResponse();

            EntityResponse entityResponse = ReadEntity(entityName);

            if (!entityResponse.Success)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = entityResponse.Message;
                return response;
            }
            else if (entityResponse.Object == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Entity with such name does not exist!";
                return response;
            }

            Entity entity = entityResponse.Object;

            RecordView recordView = entity.RecordViews.FirstOrDefault(r => r.Name == name);

            if (recordView == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Record View with such Name does not exist!";
                return response;
            }

            return ReadRecordView(entity, recordView);
        }
Ejemplo n.º 9
0
        public RecordViewResponse ReadRecordView(Guid entityId, Guid id)
        {
            RecordViewResponse response = new RecordViewResponse();

            EntityResponse entityResponse = ReadEntity(entityId);

            if (!entityResponse.Success)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = entityResponse.Message;
                return response;
            }
            else if (entityResponse.Object == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Entity with such Id does not exist!";
                return response;
            }

            Entity entity = entityResponse.Object;

            RecordView recordView = entity.RecordViews.FirstOrDefault(r => r.Id == id);

            if (recordView == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Record View with such Id does not exist!";
                return response;
            }

            return ReadRecordView(entity, recordView);
        }
Ejemplo n.º 10
0
        public RecordViewResponse DeleteRecordView(string entityName, string name)
        {
            RecordViewResponse response = new RecordViewResponse
            {
                Success = true,
                Message = "The record view was successfully deleted!",
            };

            try
            {
                IStorageEntity storageEntity = EntityRepository.Read(entityName);

                if (storageEntity == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "Entity with such Name does not exist!";
                    return response;
                }

                Entity entity = storageEntity.MapTo<Entity>();

                RecordView recordView = entity.RecordViews.FirstOrDefault(r => r.Name == name);

                if (recordView == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not deleted. Validation error occurred!";
                    response.Errors.Add(new ErrorModel("name", name, "Record view with such Name does not exist!"));
                    return response;
                }

                entity.RecordViews.Remove(recordView);

                IStorageEntity updatedEntity = entity.MapTo<IStorageEntity>();
                bool result = EntityRepository.Update(updatedEntity);
                if (!result)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not updated! An internal error occurred!";
                    return response;
                }
            }
            catch (Exception e)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
            #if DEBUG
                response.Message = e.Message + e.StackTrace;
            #else
                response.Message = "The record view was not deleted. An internal error occurred!";
            #endif
                return response;
            }

            response.Timestamp = DateTime.UtcNow;
            return response;
        }
Ejemplo n.º 11
0
        public RecordViewResponse CreateRecordView(string entityName, InputRecordView inputRecordView)
        {
            RecordViewResponse response = new RecordViewResponse();

            var entityResponse = ReadEntity(entityName);

            if (!entityResponse.Success)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = entityResponse.Message;
                return response;
            }
            else if (entityResponse.Object == null)
            {
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
                response.Message = "Entity with such Id does not exist!";
                return response;
            }

            Entity entity = entityResponse.Object;

            return CreateRecordView(entity, inputRecordView);
        }
Ejemplo n.º 12
0
        public RecordViewResponse DeleteRecordView(Guid entityId, Guid id)
        {
            RecordViewResponse response = new RecordViewResponse
            {
                Success = true,
                Message = "The record view was successfully deleted!",
            };

            try
            {
                var entityResponse = ReadEntity(entityId);

                if (!entityResponse.Success)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = entityResponse.Message;
                    return response;
                }
                else if (entityResponse.Object == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "Entity with such Id does not exist!";
                    return response;
                }

                Entity entity = entityResponse.Object;

                RecordView recordView = entity.RecordViews.FirstOrDefault(r => r.Id == id);

                if (recordView == null)
                {
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not deleted. Validation error occurred!";
                    response.Errors.Add(new ErrorModel("id", id.ToString(), "Record view with such Id does not exist!"));
                    return response;
                }

                entity.RecordViews.Remove(recordView);

                DbEntity updatedEntity = entity.MapTo<DbEntity>();
                bool result = DbContext.Current.EntityRepository.Update(updatedEntity);
                if (!result)
                {
                    Cache.ClearEntities();
                    response.Timestamp = DateTime.UtcNow;
                    response.Success = false;
                    response.Message = "The record view was not updated! An internal error occurred!";
                    return response;
                }
            }
            catch (Exception e)
            {
                Cache.ClearEntities();
                response.Timestamp = DateTime.UtcNow;
                response.Success = false;
            #if DEBUG
                response.Message = e.Message + e.StackTrace;
            #else
                response.Message = "The record view was not deleted. An internal error occurred!";
            #endif
                return response;
            }

            Cache.ClearEntities();

            response.Timestamp = DateTime.UtcNow;
            return response;
        }