jueves, 21 de abril de 2016

C# - Ejemplo de CRUD Entity Framework

  #region Metodos CRUD Publicos

        /// <summary>
        /// Metodo Select
        /// </summary>
        /// /// <param name="numProyecto"></param>
        /// <param name="msj"></param>
        /// <returns></returns>
        public List<RequerimientoBe> Select(Int32 numProyecto,ref string msj)
        {
            var obj = new List<RequerimientoBe>();
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    var dtContex = context.REQUERIMIENTO.Where(p => p.ID_PROYECTO == numProyecto).ToList();
                    obj.AddRange(dtContex.Select(RequerimientoBe.DbToBe));
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }
            return obj.ToList();
        }

        /// <summary>
        /// Metodo Insert
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Insert(RequerimientoBe obj, ref string msj)
        {
            var newId = 0;
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = RequerimientoBe.BeToDb(ref obj);
                        context.REQUERIMIENTO.AddObject(item);
                        context.SaveChanges();
                        newId = context.REQUERIMIENTO.Max(p => p.ID_REQUERIMIENTO);
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }
        }

        /// <summary>
        /// Metodo Update
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Update(RequerimientoBe obj, ref string msj)
        {
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = RequerimientoBe.BeToDb(ref obj);
                        object originalObject = null;
                        var key = context.CreateEntityKey("REQUERIMIENTO", item);
                        if (!context.TryGetObjectByKey(key, out originalObject)) return;

                        context.REQUERIMIENTO.ApplyCurrentValues(item);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.Message;
            }

        }

        /// <summary>
        /// Metodo Delete
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="msj"></param>
        public void Delete(RequerimientoBe obj, ref string msj)
        {
            try
            {
                using (var context = new WorkflowComexEntities())
                {
                    if (obj != null)
                    {
                        var item = context.REQUERIMIENTO.FirstOrDefault(p => p.ID_REQUERIMIENTO == obj.ID_REQUERIMIENTO);
                        context.REQUERIMIENTO.DeleteObject(item);
                        context.SaveChanges();
                    }
                }
            }
            catch (Exception ex)
            {
                msj = ex.InnerException != null ? ex.InnerException.Message : ex.Message;

            }
        }
        #endregion

No hay comentarios:

Publicar un comentario