private static void ShareValue(UpsilabEntities db, Guid idDocument, Fields field, string value, Guid idUserUpdated, bool defaultValue = false) { var document = db.Document.FirstOrDefault(x => x.idDocument == idDocument); var relatedDocuments = db.Document.Where( x => x.idSignatureTransaction == document.idSignatureTransaction && x.idDocument != document.idDocument && AllowedDocumentTypes.Contains(x.DocumentType) ).ToList(); var idRelated = new List<Guid>(); if (relatedDocuments != null) { idRelated = (from item in relatedDocuments where item.IdDocumentModel != Guid.Empty select item.IdDocumentModel.GetValueOrDefault()).ToList(); } var entityDocModel = db.DocumentModel.Where(x => idRelated.Contains(x.IdDocumentModel)).ToList(); var modelDocs = (from item in entityDocModel select DocumentModelBL.EntityToModel(item)).ToList(); foreach (var relatedDocs in relatedDocuments) { var itemValue = db.FieldValue.FirstOrDefault(x => x.IdDocument == relatedDocs.idDocument && x.IdField == field.IdField); //var html = (from item in modelDocs where item.IdDocument == relatedDocs.IdDocumentModel select item.HtmlTemplate).FirstOrDefault(); //if (html != null && html.Contains(field.NameKey)) //{ // if (itemValue == null) // { // var fieldValue = new FieldValue // { // IdField = field.IdField, // Value = value, // IdDocument = relatedDocs.idDocument, // DateCreated = DateTime.Now // }; // if (defaultValue == false) // { // fieldValue.DateUpdated = DateTime.Now; // fieldValue.IdUserUpdated = idUserUpdated; // } // db.FieldValue.AddObject(fieldValue); // } // else if (defaultValue == false) // { // itemValue.Value = value; // itemValue.DateUpdated = DateTime.Now; // itemValue.IdUserUpdated = idUserUpdated; // db.ObjectStateManager.ChangeObjectState(itemValue, EntityState.Modified); // } //} if (itemValue == null) { var fieldValue = new FieldValue { IdField = field.IdField, Value = value, IdDocument = relatedDocs.idDocument, DateCreated = DateTime.Now }; if (defaultValue == false) { fieldValue.DateUpdated = DateTime.Now; fieldValue.IdUserUpdated = idUserUpdated; } db.FieldValue.AddObject(fieldValue); } else if (defaultValue == false) { itemValue.Value = value; itemValue.DateUpdated = DateTime.Now; itemValue.IdUserUpdated = idUserUpdated; db.ObjectStateManager.ChangeObjectState(itemValue, EntityState.Modified); } } }
public static Fields FieldModelToEntity(SignFieldsModel model) { var entity = new Fields { NameKey = model.Name, Label = model.Label, Type = model.Type, IsShared = model.IsShared, DateCreated = model.DateCreated, Order = model.Order, Required = model.Required }; if (model.IdField != null) entity.IdField = model.IdField.GetValueOrDefault(); if (model.IdDocumentModel != null) entity.IdDocumentModel = model.IdDocumentModel.GetValueOrDefault(); if (model.IdDocumentSection != null) entity.IdDocumentSection = model.IdDocumentSection.GetValueOrDefault(); return entity; }
private static void AttachFieldValue(UpsilabEntities db, Guid idDocument, Fields _Field, string value, Guid? idUserUpdated, bool defaultValueOnly = false) { var fieldValue = db.FieldValue.FirstOrDefault(x => x.IdDocument == idDocument && x.IdField == _Field.IdField); if (fieldValue != null) { if(defaultValueOnly == false) //Do not update values from defaults { fieldValue.Value = value; fieldValue.DateUpdated = DateTime.Now; fieldValue.IdUserUpdated = (idUserUpdated != Guid.Empty) ? idUserUpdated : null; db.ObjectStateManager.ChangeObjectState(fieldValue, EntityState.Modified); } } else if (!String.IsNullOrEmpty(value) && !String.IsNullOrWhiteSpace(value)) { var fv = new FieldValue { IdField = _Field.IdField, Value = value, IdDocument = idDocument, DateCreated = DateTime.Now }; if (defaultValueOnly == false) //If not automatic update save (IdUser) { fv.DateUpdated = DateTime.Now; fv.IdUserUpdated = (idUserUpdated != Guid.Empty) ? idUserUpdated : null; } db.FieldValue.AddObject(fv); } }
public static SignFieldsModel FieldEntityToModel(Fields entity, bool readOnly = false) { int idInt; int.TryParse(entity.IdField.ToString(), out idInt); var model = new SignFieldsModel { IdField = idInt, IdDocumentModel = entity.IdDocumentModel, IdDocumentSection = entity.IdDocumentSection, Name = entity.NameKey, Label = entity.Label, Type = entity.Type, IsShared = entity.IsShared, DateCreated = entity.DateCreated.GetValueOrDefault(), Required = entity.Required.GetValueOrDefault(), Order = entity.Order, IsReadOnly = readOnly }; return model; }