public static PeriodModel GetPeriodModel(DateTime start, DateTime end, enAggregation type) { PeriodModel result = new PeriodModel(); try { result.StartDate = start; result.EndDate = end; result.Aggregation = type; DataUpdateModel dataUpdate = new DataUpdateModel(); dataUpdate.DateTime = end; result.LastUpdate = dataUpdate; } catch (Exception ex) { LogService.WriteLog(ex.GetStringLog(), LogService.TypeLevel.Error, ex); } return(result); }
public IActionResult Post(DataUpdateModel model) { Schema.Domain.Entity entityMeta = null; if (model.EntityId.HasValue && !model.EntityId.Value.Equals(Guid.Empty)) { entityMeta = _entityFinder.FindById(model.EntityId.Value); } else if (model.EntityName.IsNotEmpty()) { entityMeta = _entityFinder.FindByName(model.EntityName); } if (entityMeta == null) { return(NotFound()); } var childAttributes = _attributeFinder.FindByEntityName(entityMeta.Name); var primaryAttr = childAttributes.Find(n => n.TypeIsPrimaryKey()); if (model.Data.StartsWith("[")) { //var details = new List<Entity>(); var items = JArray.Parse(model.Data.UrlDecode()); if (items.Count > 0) { foreach (var c in items) { dynamic root = JObject.Parse(c.ToString()); Entity detail = new Entity(entityMeta.Name); foreach (JProperty p in root) { if (p.Name.IsCaseInsensitiveEqual("id")) { detail.SetIdValue(Guid.Parse(p.Value.ToString()), primaryAttr.Name); } else { var attr = childAttributes.Find(n => n.Name.IsCaseInsensitiveEqual(p.Name)); if (attr != null) { detail.SetAttributeValue(p.Name.ToString().ToLower(), detail.WrapAttributeValue(_entityFinder, attr, p.Value.ToString())); } } } //details.Add(detail); _dataUpdater.Update(detail); } } //_organizationServiceProxy.UpdateMany(details); return(UpdateSuccess()); } else { Entity detail = new Entity(entityMeta.Name); dynamic root = JObject.Parse(model.Data.UrlDecode()); foreach (JProperty p in root) { if (p.Name.IsCaseInsensitiveEqual("id")) { detail.SetIdValue(Guid.Parse(p.Value.ToString()), primaryAttr.Name); } else { var attr = childAttributes.Find(n => n.Name.IsCaseInsensitiveEqual(p.Name)); if (attr != null) { detail.SetAttributeValue(p.Name.ToString().ToLower(), detail.WrapAttributeValue(_entityFinder, attr, p.Value.ToString())); } } } _dataUpdater.Update(detail); } return(UpdateSuccess()); }