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); }
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; } } }
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; } } }
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")); } }
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); }
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)); }