BExIS.Web.Shell.Areas.RPM.Controllers.DataStructureSearchController.storeDataStructure C# (CSharp) Method

storeDataStructure() public method

public storeDataStructure ( long Id, string Name, bool isStructured, string Description = "", string cssId = "", bool inUse = false ) : MessageModel
Id long
Name string
isStructured bool
Description string
cssId string
inUse bool
return BExIS.Web.Shell.Areas.RPM.Models.MessageModel
        public MessageModel storeDataStructure(long Id, string Name, bool isStructured, string Description ="", string cssId = "", bool inUse = false)
        {
            Name = Server.UrlDecode(Name);
            Description = Server.UrlDecode(Description);
            MessageModel DataStructureValidation = MessageModel.validateDataStructureInUse(Id);
            if (DataStructureValidation.hasMessage && inUse == false)
            {
                return DataStructureValidation;
            }
            else
            {
                DataStructureValidation = MessageModel.validateDataStructureName(Id, Name, cssId);
                if (DataStructureValidation.hasMessage)
                {
                    return DataStructureValidation;
                }
                else
                {
                    DataStructureManager dataStructureManager = new DataStructureManager();
                    DataStructure dataStructure;
                    if (isStructured)
                    {
                        if (Id == 0)
                        {
                            dataStructure = dataStructureManager.CreateStructuredDataStructure(Name.Trim(), Description.Trim(), null, null, DataStructureCategory.Generic);
                            LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Created);
                            return new MessageModel()
                            {
                                Message = dataStructure.Id.ToString(),
                                hasMessage = false,
                                CssId = "redirect"
                            };
                        }
                        else
                        {
                            StructuredDataStructure StructuredDataStructure = dataStructureManager.StructuredDataStructureRepo.Get(Id);
                            StructuredDataStructure.Name = Name;
                            StructuredDataStructure.Description = Description;
                            dataStructure = dataStructureManager.UpdateStructuredDataStructure(StructuredDataStructure);
                            LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Created);
                            return new MessageModel()
                            {
                                Message = Id.ToString(),
                                hasMessage = false,
                                CssId = "redirect"
                            };
                        }
                    }
                    else
                    {
                        if (Id == 0)
                        {
                            dataStructure = dataStructureManager.CreateUnStructuredDataStructure(Name.Trim(), Description.Trim());
                            LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Created);
                            return new MessageModel()
                            {
                                Message = "refresh DataStructureResultGrid",
                                hasMessage = false,
                                CssId = "refresh"
                            };
                        }
                        else
                        {
                            UnStructuredDataStructure unStructuredDataStructure = dataStructureManager.UnStructuredDataStructureRepo.Get(Id);
                            unStructuredDataStructure.Name = Name;
                            unStructuredDataStructure.Description = Description;
                            dataStructure = dataStructureManager.UpdateUnStructuredDataStructure(unStructuredDataStructure);
                            LoggerFactory.LogData(dataStructure.Id.ToString(), typeof(DataStructure).Name, Vaiona.Entities.Logging.CrudState.Created);
                            return new MessageModel()
                            {
                                Message = "refresh DataStructureResultGrid",
                                hasMessage = false,
                                CssId = "refresh"
                            };
                        }
                    }
                }
            }
        }