public int Update(Models.AccionPreventa oAccionPreventa) { Guid methodOwnerID = new Guid("1c38edd7-67c4-4c5c-8cc2-544a064419a3"); OpenDbConn(); if (cDblib.Transaction.ownerID.Equals(new Guid())) { cDblib.beginTransaction(methodOwnerID); } try { DAL.AccionPreventa cAccionPreventa = new DAL.AccionPreventa(cDblib); int result = cAccionPreventa.Update(oAccionPreventa, (int)HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"]); //Finalizar transacción if (cDblib.Transaction.ownerID.Equals(methodOwnerID)) { cDblib.commitTransaction(methodOwnerID); } return(result); } catch (Exception ex) { //rollback if (cDblib.Transaction.ownerID.Equals(methodOwnerID)) { cDblib.rollbackTransaction(methodOwnerID); } throw ex; } }
public int Insert(Models.AccionPreventa oAccionPreventa, Models.SolicitudPreventa oSP, Guid guidprovisional) { Guid methodOwnerID = new Guid("c520a70a-6315-488b-a802-07b679db76e3"); BLL.Listas cListas = null; BLL.SolicitudPreventa cSolicitudPreventa = null; OpenDbConn(); if (cDblib.Transaction.ownerID.Equals(new Guid())) { cDblib.beginTransaction(methodOwnerID); } try { DAL.AccionPreventa cAccionPreventa = new DAL.AccionPreventa(cDblib); cSolicitudPreventa = new BLL.SolicitudPreventa(cDblib); //grabar siempre la solicitud para acciones de origen CRM. Si existe devuelve el mismo id if (oSP.ta206_itemorigen == "O" || oSP.ta206_itemorigen == "P" || oSP.ta206_itemorigen == "E") { oSP.ta200_idareapreventa = null; oAccionPreventa.ta206_idsolicitudpreventa = cSolicitudPreventa.Insert(oSP); } else { //itemorigen = "S" oSP.ta206_iditemorigen = oSP.ta206_idsolicitudpreventa; oAccionPreventa.ta206_idsolicitudpreventa = oSP.ta206_idsolicitudpreventa; } //Validacion: Comprobación de tipo de acción no duplicable para otra acción de la misma solicitud. cListas = new BLL.Listas(cDblib); List <Models.TipoAccionPreventa> lst = cListas.GetListTipoAccionFiltrada(oSP.ta206_itemorigen, (int)oSP.ta206_iditemorigen); if (!lst.Contains(new Models.TipoAccionPreventa(oAccionPreventa.ta205_idtipoaccionpreventa))) { throw new IB.SUPER.Shared.ValidationException("La acción seleccionada está considerada como única por solicitud. Al ya existir otra solicitud con la misma acción, no se permite realizar la grabación."); } oAccionPreventa.t001_idficepi_promotor = int.Parse(HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"].ToString()); if (oAccionPreventa.ta201_idsubareapreventa == 0) //Subarea == comercial, lider es el usuario conectado (el comercial) { oAccionPreventa.t001_idficepi_lider = oAccionPreventa.t001_idficepi_promotor; } int idAccionPreventa = cAccionPreventa.Insert(oAccionPreventa, guidprovisional, (int)HttpContext.Current.Session["IDFICEPI_PC_ACTUAL"]); //Finalizar transacción if (cDblib.Transaction.ownerID.Equals(methodOwnerID)) { cDblib.commitTransaction(methodOwnerID); } return(idAccionPreventa); } catch (Exception ex) { //rollback if (cDblib.Transaction.ownerID.Equals(methodOwnerID)) { cDblib.rollbackTransaction(methodOwnerID); } throw ex; } finally { if (cListas != null) { cListas.Dispose(); } if (cSolicitudPreventa != null) { cSolicitudPreventa.Dispose(); } } }