private void CloneObjectController_CustomCloneObject(object sender, CustomCloneObjectEventArgs e) { var cloner = new MyCloner(); e.TargetObjectSpace = e.CreateDefaultTargetObjectSpace(); object objectFromTargetObjectSpace = e.TargetObjectSpace.GetObject(e.SourceObject); e.ClonedObject = cloner.CloneTo(objectFromTargetObjectSpace, e.TargetType); if (e.ClonedObject.GetType() == typeof(Schedule)) { Schedule clonedSchedule = (Schedule)e.ClonedObject; clonedSchedule.CreateDate = DateTime.Now; clonedSchedule.ModifyDate = DateTime.Now; clonedSchedule.IsCarAssigned = false; clonedSchedule.AssignedCar = null; clonedSchedule.AssignedDriver = null; clonedSchedule.CarAssignedBy = null; clonedSchedule.CarAssignedDate = DateTime.MinValue; clonedSchedule.CarAssignmentNote = null; if (clonedSchedule.MinutesOfMeetings.Count > 0) { foreach (MinutesOfMeeting mom in clonedSchedule.MinutesOfMeetings) { mom.Delete(); } } } }
void cloneObjectController_CustomCloneObject(object sender, CustomCloneObjectEventArgs e) { var cloner = new MiClonador(); var defaultCloner = new Cloner(); e.TargetObjectSpace = e.CreateDefaultTargetObjectSpace(); object objectFromTargetObjectSpace = e.TargetObjectSpace.GetObject(e.SourceObject); if ((e.TargetType).Name == "Activo" || (e.TargetType).Name == "Equipo" || (e.TargetType).Name == "Vehiculo" || (e.TargetType).Name == "Software") { e.ClonedObject = cloner.CloneTo(objectFromTargetObjectSpace, e.TargetType); } else { e.ClonedObject = defaultCloner.CloneTo(objectFromTargetObjectSpace, e.TargetType); } }