public SaveCircuitStatus EditCircuit(vw_CircuitData circuitData) { try { DateTime EndCircuitDate = new DateTime(DateTime.Today.Year, SystemConfigurations.Settings_CircuitEndMonth, SystemConfigurations.Settings_CircuitEndDay); bool isSameYearCircuit = (circuitData.CircuitStartDate < EndCircuitDate || (circuitData.CircuitStartDate > EndCircuitDate && DateTime.Today > EndCircuitDate) ? true : false); DateTime CircuitEndDate = new DateTime(circuitData.CircuitStartDate.Year, SystemConfigurations.Settings_CircuitEndMonth, SystemConfigurations.Settings_CircuitEndDay); if (circuitData.CircuitStartDate > CircuitEndDate) { CircuitEndDate = circuitData.CircuitStartDate.AddYears(1); } //if (CircuitComponent.IsStartDateAfterToday(circuitData.ID) == false) //{ // return SaveCircuitStatus.CircuitStartDateBeforeToday; //} if (ValidateJudges(circuitData.JudgesID)) { return(SaveCircuitStatus.Judge_Used_Twice); } if (CircuitComponent.IsSavedBefore(isSameYearCircuit, circuitData.CircuitName, circuitData.ID)) { return(SaveCircuitStatus.Saved_Before); } circuitData.IsActive = isSameYearCircuit; circuitData.IsFutureCircuit = !isSameYearCircuit; using (var Transaction = BeginDatabaseTransaction()) { PoliceComp.DeleteCircuitPoliceStations(circuitData.ID); PoliceComp.SaveCircuitPoliceStations(circuitData.PoliceStations, circuitData.ID); CircuitMembersComponent.EditCircuitJudges(circuitData.JudgesID, circuitData.ID, circuitData.CircuitStartDate); //CircuitMembersComponent.DeleteCircuitMemberByCircuitID (circuitData.ID); //CircuitMembersComponent.AddCircuitJudges ( circuitData.JudgesID ,circuitData.ID,circuitData.CircuitStartDate ); CircuitComponent.EditCircuit(circuitData); if (Transaction != null) { Transaction.Commit(); } return(SaveCircuitStatus.Saved_Successfully); } } catch (DbEntityValidationException ex) { HandleException(ex); return(SaveCircuitStatus.Failed_To_Save); } }
public SaveCircuitStatus AddCircuit(vw_CircuitData circuitData, out int CircuitID) { try { DateTime EndCircuitDate = new DateTime(DateTime.Today.Year, SystemConfigurations.Settings_CircuitEndMonth, SystemConfigurations.Settings_CircuitEndDay); if (DateTime.Today > EndCircuitDate) { EndCircuitDate.AddYears(1); } bool isSameYearCircuit = (circuitData.CircuitStartDate < EndCircuitDate) ? true : false; DateTime CircuitEndDate = new DateTime(circuitData.CircuitStartDate.Year, SystemConfigurations.Settings_CircuitEndMonth, SystemConfigurations.Settings_CircuitEndDay); if (circuitData.CircuitStartDate > CircuitEndDate) { CircuitEndDate = circuitData.CircuitStartDate.AddYears(1); } if (ValidateJudges(circuitData.JudgesID)) { CircuitID = 0; return(SaveCircuitStatus.Judge_Used_Twice); } if (circuitData.SecretaryID == circuitData.AssistantSecretaryID) { CircuitID = 0; return(SaveCircuitStatus.Secretary_Used_Twice); } if (CircuitComponent.IsSavedBefore(isSameYearCircuit, circuitData.CircuitName, circuitData.ID)) { CircuitID = 0; return(SaveCircuitStatus.Saved_Before); } circuitData.IsActive = isSameYearCircuit; circuitData.IsFutureCircuit = !isSameYearCircuit; if (circuitData.AssistantSecretaryID == 0) { circuitData.AssistantSecretaryID = null; } using (var Transaction = BeginDatabaseTransaction()) { CircuitComponent.AddCircuit(circuitData, out CircuitID); PoliceComp.SaveCircuitPoliceStations(circuitData.PoliceStations, CircuitID); SaveCircuitStatus SaveJudgesStatus = CircuitMembersComponent.AddCircuitJudges(circuitData.JudgesID, CircuitID, circuitData.CircuitStartDate); if (Transaction != null) { Transaction.Commit(); } return(SaveCircuitStatus.Saved_Successfully); } } catch (Exception ex) { CircuitID = 0; HandleException(ex); return(SaveCircuitStatus.Failed_To_Save); } }