Ejemplo n.º 1
0
        public Common.OperationResult Update(EntityDataContract dataContract)
        {
            var handler = DataAccess.Core.GetFactory().GetInstance <IEntityHandler>();

            dataContract.UpdatedBy = Common.SessionData.ResourceId;
            dataContract.UpdatedOn = DateTime.Now;

            var val = dataContract.Validate();

            if (!val.IsValid)
            {
                return(new Common.OperationResult(val));
            }

            var result = handler.Update(dataContract);

            if (result.Status == Common.OperationResultStatus.Succesfull)
            {
                UpdateEntityStatus(dataContract);
                UpdateEntityFields(dataContract);

                if (dataContract.EntityType.Equals("T"))
                {
                    SetTrigger(dataContract.SQLTableName, dataContract.Id, dataContract.StatusField, dataContract.UserDefinedCodeField, dataContract.EntityFields);
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        public void UpdateEntityStatus(EntityDataContract dataContract)
        {
            var handler    = DataAccess.Core.GetFactory().GetInstance <IEntityStatusHandler>();
            var statusList = handler.GetAll(dataContract.Id);


            //add new statuses
            foreach (var item in dataContract.EntityStatus)
            {
                if (statusList.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    continue;
                }
                else
                {
                    item.EntityId = dataContract.Id;
                    item.Id       = Guid.NewGuid();
                    handler.Add(item);
                }
            }

            statusList = handler.GetAll(dataContract.Id);

            //remove deleted statuses
            foreach (var item in statusList)
            {
                if (dataContract.EntityStatus.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    continue;
                }
                else
                {
                    handler.Delete(item);
                }
            }

            statusList = handler.GetAll(dataContract.Id);

            //remove deleted statuses
            foreach (var item in statusList)
            {
                if (dataContract.EntityStatus.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase) &&
                                                    !o.UserDefinedCode.Equals(item.UserDefinedCode, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    item.UserDefinedCode = dataContract.EntityStatus.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).First().UserDefinedCode;
                    handler.Update(item);
                }
                else
                {
                    continue;
                }
            }
        }
Ejemplo n.º 3
0
        public void UpdateEntityFields(EntityDataContract dataContract)
        {
            var handler = DataAccess.Core.GetFactory().GetInstance <IEntityFieldHandler>();
            var list    = handler.GetAll(dataContract.Id);


            //add new fields
            foreach (var item in dataContract.EntityFields)
            {
                if (list.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    continue;
                }
                else
                {
                    item.EntityId = dataContract.Id;
                    item.Id       = Guid.NewGuid();
                    handler.Add(item);
                }
            }

            list = handler.GetAll(dataContract.Id);

            //remove deleted fields
            foreach (var item in list)
            {
                if (dataContract.EntityFields.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    continue;
                }
                else
                {
                    handler.Delete(item);
                }
            }

            list = handler.GetAll(dataContract.Id);

            //update fields
            foreach (var item in list)
            {
                if (dataContract.EntityFields.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase) &&
                                                    !o.FieldType.Equals(item.FieldType, StringComparison.CurrentCultureIgnoreCase)).Any())
                {
                    item.FieldType = dataContract.EntityFields.Where(o => o.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)).First().FieldType;
                    handler.Update(item);
                }
                else
                {
                    continue;
                }
            }
        }
Ejemplo n.º 4
0
        public ActionResult EditEntity(EntityModel model)
        {
            var entityBO = BusinessLogic.Core.GetFactory().GetInstance <IEntityBO>();

            EntityDataContract dataContract;

            bool update = model.Id != null && model.Id != Guid.Empty;

            if (!update)
            {
                dataContract    = new EntityDataContract();
                dataContract.Id = Guid.NewGuid();
            }
            else
            {
                dataContract = entityBO.GetById(model.Id);
            }

            dataContract.EntityStatus = ((List <EntityStatusModel>)Session["EntityStatusList"]).Select(o => new EntityStatusDataContract()
            {
                Description = o.Description, UserDefinedCode = o.Code
            });
            dataContract.EntityFields = ((List <EntityFieldModel>)Session["EntityFieldList"]).Select(o => new EntityFieldDataContract()
            {
                Name = o.Name, UserDefined = o.UserDefined, FieldType = o.Type
            });
            dataContract.SQLTableName         = model.SQLTableName;
            dataContract.Name                 = model.Name;
            dataContract.EntityType           = model.EntityType;
            dataContract.StatusField          = model.StatusField;
            dataContract.UserDefinedCodeField = model.UserDefinedCodeField;

            OperationResult result;

            if (update)
            {
                result = entityBO.Update(dataContract);
            }
            else
            {
                result = entityBO.Add(dataContract);
            }

            if (result.Status != Common.OperationResultStatus.Succesfull)
            {
                ModelState.AddModelError("", result.Message);
                return(View(model));
            }
            else
            {
                return(RedirectToAction("Index", "Entity"));
            }
        }
Ejemplo n.º 5
0
        public Common.OperationResult Update(EntityDataContract dataContract)
        {
            var handler = DataAccess.Core.GetFactory().GetInstance <IEntityHandler>();

            dataContract.UpdatedBy = Common.SessionData.ResourceId;
            dataContract.UpdatedOn = DateTime.Now;

            var val = dataContract.Validate();

            if (!val.IsValid)
            {
                return(new Common.OperationResult(val));
            }

            var result = handler.Update(dataContract);

            if (result.Status == Common.OperationResultStatus.Succesfull)
            {
                UpdateEntityStatus(dataContract);
                UpdateEntityFields(dataContract);
            }

            return(result);
        }
Ejemplo n.º 6
0
        public ActionResult EditEntity(Guid entityId, bool displayonly = true)
        {
            var         entityBO = BusinessLogic.Core.GetFactory().GetInstance <IEntityBO>();
            EntityModel model    = new EntityModel();

            model.EditMode     = !displayonly;
            model.EntityStatus = new List <EntityStatusModel>();
            model.EntityFields = new List <EntityFieldModel>();

            var fieldTypes = new List <EntityFieldTypeModel>();

            fieldTypes.Add(new EntityFieldTypeModel()
            {
                Name = "Texto", Id = "T"
            });
            fieldTypes.Add(new EntityFieldTypeModel()
            {
                Name = "Numero", Id = "N"
            });
            fieldTypes.Add(new EntityFieldTypeModel()
            {
                Name = "Data/Hora", Id = "D"
            });
            fieldTypes.Add(new EntityFieldTypeModel()
            {
                Name = "Código", Id = "C"
            });
            model.EntityFieldTypes = fieldTypes;

            var entityTypes = new List <EntityTypeModel>();

            entityTypes.Add(new EntityTypeModel()
            {
                Name = "Manual", Id = "M"
            });
            entityTypes.Add(new EntityTypeModel()
            {
                Name = "Tabela", Id = "T"
            });
            model.EntityTypes = entityTypes;

            model.SQLTables = entityBO.GetTables().Select(o => new SQLTableModel()
            {
                Name = o
            }).ToList();

            Session["EntityStatusList"] = model.EntityStatus;
            Session["EntityFieldList"]  = model.EntityFields;

            if (entityId == null || entityId == Guid.Empty)
            {
                model.EditMode = true;
                return(View(model));
            }
            EntityDataContract dt = entityBO.GetById(entityId);

            model.SQLTableName = dt.SQLTableName;
            model.StatusField  = dt.StatusField;
            model.Name         = dt.Name;
            model.Id           = dt.Id;
            model.EntityType   = dt.EntityType;
            if (dt.EntityStatus != null)
            {
                model.EntityStatus = dt.EntityStatus.Select(o => new EntityStatusModel()
                {
                    Code = o.UserDefinedCode, Description = o.Description
                }).ToList();
                Session["EntityStatusList"] = model.EntityStatus;
            }
            if (dt.EntityFields != null)
            {
                model.EntityFields = dt.EntityFields.Select(o => new EntityFieldModel()
                {
                    Name = o.Name, Type = o.FieldType, UserDefined = o.UserDefined
                }).ToList();
                Session["EntityFieldList"] = model.EntityFields;
            }
            return(View(model));
        }