public void LogWarning(int planId, string message) { using (var context = new DisneyHCMLatamPlanningEntities()) { var log = new SBForecastPlanLog { Date = DateTime.Now, Message = message, SBForecastPlanId = planId, TypeId = 2 }; context.SBForecastPlanLogs.AddObject(log); context.SaveChanges(); } }
public static Engine.Core.ExpenseType ToModel(this ExpenseType expenseType) { var context = new DisneyHCMLatamPlanningEntities(); return(new Engine.Core.ExpenseType() { Id = expenseType.ExpenseTypeId, Code = expenseType.Code, Description = expenseType.Description, IsActive = expenseType.IsActive, ExpenseGroup = (context.ExpenseGroups.FirstOrDefault(e => e.ExpenseGroupId == expenseType.ExpenseGroupId)).ToModel() }); }
public static Concept ToDbModel(this Concept <decimal> concept, DisneyHCMLatamPlanningEntities context) { var conceptDb = context .Concepts .Include("Parameter1") .Include("Parameter2") .Include("Parameter3") .Include("Parameter4") .Include("Output1") .Include("Output2") .Include("ConceptFilters.Filter") .Include("ConceptFilters.Filter.Parameter") .Include("ConceptFilters.Filter.Parameter1") .FirstOrDefault(p => p.ConceptId == concept.Id); conceptDb = conceptDb ?? new Concept(); conceptDb.Scheme = context.Schemes.FirstOrDefault(s => s.SchemeId == concept.Scheme.Id); conceptDb.Description = concept.Description; conceptDb.Title = concept.Title; conceptDb.Sequence = concept.Sequence; conceptDb.Operation = concept.GetOperationText(); if (concept.GLAccount != null) { conceptDb.GLAccount = context.GLAccounts.FirstOrDefault(gl => gl.GLAccountId == concept.GLAccount.Id); } else { conceptDb.GLAccount = null; } #region Valid Months SyncValidMonths(conceptDb, concept, context); #endregion #region Filters conceptDb.ConceptFilters.ToList().ForEach(r => context.ConceptFilters.DeleteObject(r)); foreach (var filter in concept.ConceptFilters) { Filter <decimal, bool> filter1 = filter; var conceptFilter = new ConceptFilter(); conceptFilter.Filter = new Filter(); if (filter.Connector != null) { conceptFilter.Connector = new Operation().GetOperator(filter.Connector.GetOperator().ToString()); } conceptFilter.Sequence = filter.Sequence; conceptFilter.Filter.Description = filter.Description; conceptFilter.Filter.Operation = new Operation().GetOperator(filter.Operation.GetOperator().ToString()); conceptFilter.Filter.Title = filter.Name; conceptFilter.Filter.FilterType = context.FilterTypes.FirstOrDefault(ft => ft.FilterTypeId == filter1.FilterType); conceptFilter.Filter.Parameter = context.Parameters.FirstOrDefault(p => p.ParameterId == filter1.Parameter1.Id); if (filter.Parameter2.ParameterType == FromDisney.ParameterType.FixedValue) { Parameter parameter = null; if (filter.Parameter2.Id == 0) { parameter = context.Parameters.FirstOrDefault(x => x.FixedValue == filter1.Parameter2.FixedValue); if (parameter != null) { conceptFilter.Filter.Parameter1 = parameter; } else { conceptFilter.Filter.Parameter1 = new Parameter { Name = "CONSTANT_" + filter1.Parameter2.FixedValue.ToString(), Description = "Created by System", IsAccumulator = false, Company = conceptFilter.Filter.Parameter.Company }; } } else { conceptFilter.Filter.Parameter1 = context.Parameters.FirstOrDefault(p => p.ParameterId == filter1.Parameter2.Id); } conceptFilter.Filter.Parameter1.ParameterType = context.ParameterTypes.FirstOrDefault( pt => pt.ParameterTypeId == (int)filter1.Parameter2.ParameterType); conceptFilter.Filter.Parameter1.FixedValue = filter1.Parameter2.FixedValue; } else { conceptFilter.Filter.Parameter1 = context.Parameters.FirstOrDefault(p => p.ParameterId == filter1.Parameter2.Id); } conceptDb.ConceptFilters.Add(conceptFilter); } #endregion #region Input y Output Parameters conceptDb.Output1 = concept.Output1 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Output1.Id) : null; conceptDb.Output2 = concept.Output2 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Output2.Id) : null; conceptDb.Parameter1 = concept.Parameter1 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Parameter1.Id) : null; conceptDb.Parameter2 = concept.Parameter2 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Parameter2.Id) : null; conceptDb.Parameter3 = concept.Parameter3 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Parameter3.Id) : null; conceptDb.Parameter4 = concept.Parameter4 != null?context.Parameters.FirstOrDefault(p => p.ParameterId == concept.Parameter4.Id) : null; #endregion if (concept.ExpenseType != null) { conceptDb.ExpenseType = context.ExpenseTypes.FirstOrDefault(et => et.ExpenseTypeId == concept.ExpenseType.Id); } return(conceptDb); }
public static Parameter ToDbModel(this IGlobal <decimal> global, DisneyHCMLatamPlanningEntities context) { Parameter entity = context.Parameters.FirstOrDefault(p => p.ParameterId == global.Id); entity = entity ?? new Parameter(); entity.ParameterId = global.Id; entity.Name = global.Name; entity.Description = global.Description; entity.ParameterTypeId = (int)global.ParameterType; entity.CompanyId = global.Company.Id; entity.IsAccumulator = global.IsAccumulator; entity.IsConstant = global.IsConstant; entity.IsModifiable = global.IsModifiable; entity.TableName = global.TableName; entity.ColumnName = global.ColumnName; entity.FixedValue = global.FixedValue; if (global.ParameterDataTypeId.HasValue) { entity.ParameterDataTypeID = (int)global.ParameterDataTypeId.Value; } if (global.ParameterType == FromDisney.ParameterType.Constant) { entity.ParameterValues.ToList().ForEach(r => { r.ParameterMonthValues.ToList().ForEach(pv => context.ParameterMonthValues.DeleteObject(pv)); context.ParameterValues.DeleteObject(r); }); global.MonthlyParameter.ForEach(p => { #region MonthValues var parameterMonthValues = new EntityCollection <ParameterMonthValue>(); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.January, Value = p.Value[Month.January] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.February, Value = p.Value[Month.February] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.March, Value = p.Value[Month.March] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.April, Value = p.Value[Month.April] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.May, Value = p.Value[Month.May] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.June, Value = p.Value[Month.June] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.July, Value = p.Value[Month.July] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.August, Value = p.Value[Month.August] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.September, Value = p.Value[Month.September] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.October, Value = p.Value[Month.October] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.November, Value = p.Value[Month.November] }); parameterMonthValues.Add(new ParameterMonthValue { Month = (int)Month.December, Value = p.Value[Month.December] }); #endregion MonthValues entity.ParameterValues.Add(new ParameterValue { FiscalYearID = p.FiscalYearId, ParameterId = p.Id, ParameterMonthValues = parameterMonthValues }); }); } return(entity); }
public static IGlobal <decimal> ToModel(this Parameter parameter) { var context = new DisneyHCMLatamPlanningEntities(); var global = new Global <decimal> { Name = parameter.Name, Description = parameter.Description, Id = parameter.ParameterId, IsModifiable = parameter.IsModifiable, IsAccumulator = parameter.IsAccumulator, IsConstant = parameter.IsConstant, ParameterType = (FromDisney.ParameterType)parameter.ParameterTypeId, Company = (context.Companies.FirstOrDefault(p => p.CompanyID == parameter.CompanyId).ToModel()), Value = ForecastDataAccessService.SetDictionaryFromValue(0), TableName = parameter.TableName, ColumnName = parameter.ColumnName, FixedValue = parameter.FixedValue, }; if (parameter.ParameterDataTypeID.HasValue) { global.ParameterDataTypeId = parameter.ParameterDataTypeID.Value; } if (global.ParameterType == FromDisney.ParameterType.Constant) { global.MonthlyParameter = new List <MonthlyParameter <decimal> >(); var monthlyValues = context.ParameterValues .Include("ParameterMonthValues.ParameterValue.FiscalYear") .Where(p => p.ParameterId == parameter.ParameterId) .ToList(); monthlyValues.ForEach(x => { var monthlyParameter = new MonthlyParameter <decimal> { FiscalYearId = x.FiscalYear.FiscalYearID, FiscalYearCode = x.FiscalYear.Code, Value = new Dictionary <Month, decimal>() }; for (int i = 1; i <= 12; i++) { decimal value = 0; var result = x.ParameterMonthValues.FirstOrDefault(y => y.Month == i); //try //{ // value = x.ParameterMonthValues.ToList()[i - 1].Value; //} //catch (Exception) //{ // value = 0; //} monthlyParameter.Value.Add((Month)i, result == null ? 0: result.Value); } global.MonthlyParameter.Add(monthlyParameter); }); } return(global); }
private static void SyncValidMonths(Concept conceptDb, Concept <decimal> concept, DisneyHCMLatamPlanningEntities context) { var months = Enum.GetValues(typeof(Month)).Cast <Month>().ToList(); foreach (var month in months) { var conceptValidMonth = conceptDb.ConceptsValidMonths.FirstOrDefault(cvm => cvm.MonthId == (int)month); var value = concept.ValidMonths[month]; if (value) { if (conceptValidMonth == null) { conceptDb.ConceptsValidMonths.Add(new ConceptsValidMonth { MonthId = (int)month }); } } else { if (conceptValidMonth != null) { context.ConceptsValidMonths.DeleteObject(conceptValidMonth); } } } }