PageRenderTime 53ms CodeModel.GetById 17ms app.highlight 27ms RepoModel.GetById 1ms app.codeStats 1ms

/Docs/07-Implementacion/Source/trunk/EDUAR_actual/EDUAR/EDUAR_BusinessLogic/Common/BLContenido.cs

http://blpm.googlecode.com/
C# | 309 lines | 234 code | 30 blank | 45 comment | 12 complexity | 93785dbee8dc3f8818c3591a617a0ac9 MD5 | raw file
  1using System;
  2using System.Collections.Generic;
  3using System.Linq;
  4using System.Text;
  5using EDUAR_DataAccess.Common;
  6using EDUAR_Entities;
  7using EDUAR_BusinessLogic.Shared;
  8using EDUAR_Entities.Shared;
  9using EDUAR_Utility.Excepciones;
 10using EDUAR_Utility.Enumeraciones;
 11using EDUAR_DataAccess.Shared;
 12
 13namespace EDUAR_BusinessLogic.Common
 14{
 15    public class BLContenido : BusinessLogicBase<Contenido, DAContenido>
 16    {
 17        #region --[Constante]--
 18        private const string ClassName = "BLContenido";
 19        #endregion
 20
 21        #region --[Constructores]--
 22        /// <summary>
 23        /// Constructor con DTO como parámetro.
 24        /// </summary>
 25        public BLContenido(DTBase objContenido)
 26        {
 27            Data = (Contenido)objContenido;
 28        }
 29        /// <summary>
 30        /// Constructor vacio
 31        /// </summary>
 32        public BLContenido()
 33        {
 34            Data = new Contenido();
 35        }
 36        #endregion
 37
 38        #region --[Propiedades Override]--
 39        protected override sealed DAContenido DataAcces
 40        {
 41            get { return dataAcces; }
 42            set { dataAcces = value; }
 43        }
 44
 45        public override sealed Contenido Data
 46        {
 47            get { return data; }
 48            set { data = value; }
 49        }
 50
 51        public override string FieldId
 52        {
 53            get { return DataAcces.FieldID; }
 54        }
 55
 56        public override string FieldDescription
 57        {
 58            get { return DataAcces.FieldDescription; }
 59        }
 60
 61        /// <summary>
 62        /// Gets the by id.
 63        /// </summary>
 64        public override void GetById()
 65        {
 66            try
 67            {
 68                Data = DataAcces.GetById(Data);
 69            }
 70            catch (CustomizedException ex)
 71            {
 72                throw ex;
 73            }
 74            catch (Exception ex)
 75            {
 76                throw new CustomizedException(string.Format("Fallo en {0} - GetById", ClassName), ex,
 77                                              enuExceptionType.BusinessLogicException);
 78            }
 79        }
 80
 81        /// <summary>
 82        /// Método que guarda el registro actualmente cargado en memoria. No importa si se trata de una alta o modificación.
 83        /// </summary>
 84        public override void Save()
 85        {
 86            try
 87            {
 88                //Abre la transaccion que se va a utilizar
 89                DataAcces.Transaction.OpenTransaction();
 90                int idContenido = 0;
 91
 92                if (Data.idContenido == 0)
 93                    DataAcces.Create(Data, out idContenido);
 94                else
 95                    DataAcces.Update(Data);
 96
 97                //Se da el OK para la transaccion.
 98                DataAcces.Transaction.CommitTransaction();
 99            }
100            catch (CustomizedException ex)
101            {
102                if (DataAcces != null && DataAcces.Transaction != null)
103                    DataAcces.Transaction.RollbackTransaction();
104                throw ex;
105            }
106            catch (Exception ex)
107            {
108                if (DataAcces != null && DataAcces.Transaction != null)
109                    DataAcces.Transaction.RollbackTransaction();
110                throw new CustomizedException(string.Format("Fallo en {0} - Save()", ClassName), ex,
111                                              enuExceptionType.BusinessLogicException);
112            }
113        }
114
115        /// <summary>
116        /// Método que guarda el registro actualmente cargado en memoria. No importa si se trata de una alta o modificación.
117        /// </summary>
118        public override void Save(DATransaction objDATransaction)
119        {
120            try
121            {
122                //Si no viene el Id es porque se esta creando la entidad
123                DataAcces = new DAContenido(objDATransaction);
124                if (Data.idContenido == 0)
125                    DataAcces.Create(Data);
126                else
127                {
128                    DataAcces.Update(Data);
129                }
130            }
131            catch (CustomizedException ex)
132            {
133                throw ex;
134            }
135            catch (Exception ex)
136            {
137                throw new CustomizedException(string.Format("Fallo en {0} - Save()", ClassName), ex,
138                                              enuExceptionType.BusinessLogicException);
139            }
140        }
141
142        /// <summary>
143        /// Deletes this instance.
144        /// </summary>
145        /// <exception cref="CustomizedException"></exception>
146        public override void Delete()
147        {
148            try
149            {
150                DataAcces = new DAContenido();
151                DataAcces.Delete(Data);
152            }
153            catch (CustomizedException ex)
154            {
155                throw ex;
156            }
157            catch (Exception ex)
158            {
159                throw new CustomizedException(string.Format("Fallo en {0} - Delete()", ClassName), ex,
160                                              enuExceptionType.BusinessLogicException);
161            }
162        }
163
164        /// <summary>
165        /// Deletes the specified obj DA transaction.
166        /// </summary>
167        /// <param name="objDATransaction">The obj DA transaction.</param>
168        /// <exception cref="CustomizedException"></exception>
169        public override void Delete(DATransaction objDATransaction)
170        {
171            try
172            {
173                DataAcces = new DAContenido(objDATransaction);
174                DataAcces.Delete(Data);
175            }
176            catch (CustomizedException ex)
177            {
178                throw ex;
179            }
180            catch (Exception ex)
181            {
182                throw new CustomizedException(string.Format("Fallo en {0} - Delete()", ClassName), ex,
183                                              enuExceptionType.BusinessLogicException);
184            }
185        }
186        #endregion
187
188        #region --[Métodos publicos]--
189
190
191        /// <summary>
192        /// Gets the by asignatura ciclo lectivo.
193        /// </summary>
194        /// <param name="objFiltro">The obj filtro.</param>
195        /// <returns></returns>
196        public List<Contenido> GetByAsignaturaCicloLectivo(Contenido objFiltro)
197        {
198            try
199            {
200                return DataAcces.GetContenidos(objFiltro);
201            }
202            catch (CustomizedException ex)
203            {
204                throw ex;
205            }
206            catch (Exception ex)
207            {
208                throw new CustomizedException(string.Format("Fallo en {0} - GetByAsignaturaCicloLectivo", ClassName), ex,
209                                              enuExceptionType.BusinessLogicException);
210            }
211        }
212
213        /// <summary>
214        /// Gets the curricula asignatura nivel.
215        /// </summary>
216        /// <param name="objFiltro">The obj filtro.</param>
217        /// <returns></returns>
218        /// <exception cref="CustomizedException"></exception>
219        public List<Contenido> GetCurriculaAsignaturaNivel(Contenido objFiltro)
220        {
221            BLTemaContenido TemaContenidoBL = new BLTemaContenido();
222
223            List<Contenido> listaContenidos = new List<Contenido>();
224            try
225            {
226                listaContenidos = DataAcces.GetContenidosCalc(objFiltro);
227
228                foreach (Contenido unContenido in listaContenidos)
229                {
230                    unContenido.listaContenidos = TemaContenidoBL.GetTemasByContenidoCalc(unContenido);
231                }
232            }
233            catch (CustomizedException ex)
234            {
235                throw ex;
236            }
237            catch (Exception ex)
238            {
239                throw new CustomizedException(string.Format("Fallo en {0} - GetCurriculaAsignaturaNivel", ClassName), ex,
240                                              enuExceptionType.BusinessLogicException);
241            }
242
243            return (listaContenidos);
244        }
245
246        /// <summary>
247        /// Gets the curricula asignatura nivel.
248        /// </summary>
249        /// <param name="objFiltro">The obj filtro.</param>
250        /// <returns></returns>
251        /// <exception cref="CustomizedException"></exception>
252        public List<Contenido> GetCurriculaFullAsignaturaNivel(Contenido objFiltro)
253        {
254            BLTemaContenido TemaContenidoBL = new BLTemaContenido();
255
256            List<Contenido> listaContenidos = new List<Contenido>();
257            try
258            {
259                listaContenidos = DataAcces.GetContenidos(objFiltro);
260
261                foreach (Contenido unContenido in listaContenidos)
262                {
263                    unContenido.listaContenidos = TemaContenidoBL.GetTemasByContenidoCalc(unContenido);
264                }
265            }
266            catch (CustomizedException ex)
267            {
268                throw ex;
269            }
270            catch (Exception ex)
271            {
272                throw new CustomizedException(string.Format("Fallo en {0} - GetCurriculaFullAsignaturaNivel", ClassName), ex,
273                                              enuExceptionType.BusinessLogicException);
274            }
275
276            return (listaContenidos);
277        }
278
279
280        public void EliminarContenidos()
281        {
282            try
283            {
284                //Abre la transaccion que se va a utilizar
285                DataAcces.Transaction.OpenTransaction();
286                BLTemaContenido objBLTemaContenido = new BLTemaContenido(new TemaContenido() { idContenido = Data.idContenido , usuarioBaja = Data.usuarioBaja});
287
288                objBLTemaContenido.Delete(DataAcces.Transaction);
289
290                this.Delete(DataAcces.Transaction);
291
292                DataAcces.Transaction.CommitTransaction();
293            }
294            catch (CustomizedException ex)
295            {
296                DataAcces.Transaction.RollbackTransaction();
297                throw ex;
298            }
299            catch (Exception ex)
300            {
301                DataAcces.Transaction.RollbackTransaction();
302                throw new CustomizedException(string.Format("Fallo en {0} - Save()", ClassName), ex,
303                                              enuExceptionType.BusinessLogicException);
304            }
305        }
306        #endregion
307
308    }
309}