public TiposTicketsClientesModel GuardarTiposTicketsClientes(TiposTicketsClientesModel tiposTicketsClientesModel) { TiposTicketsClientesModel model = new TiposTicketsClientesModel(); try { iGenericDataAccess.OpenConnection(); TiposTicketsClientes ticketsClientes = new TiposTicketsClientes { IdCliente = tiposTicketsClientesModel.IdCliente, IdPersonaResponsable = tiposTicketsClientesModel.IdPersonaResponsable, IdPersonaEscalamiento1 = tiposTicketsClientesModel.IdPersonaEscalamiento1, IdPersonaEscalamiento2 = tiposTicketsClientesModel.IdPersonaEscalamiento2, HorasAtencion = tiposTicketsClientesModel.HorasAtencion, HorasSegundoEscalamiento = tiposTicketsClientesModel.HorasSegundoEscalamiento }; StringBuilder findSQL = new StringBuilder(); findSQL.Append(" SELECT COUNT(tt.TipoId) TiempoAtencion "); findSQL.Append(" FROM dbo.TiposTicket tt "); findSQL.Append(" INNER JOIN dbo.TiposTicketsClientes ttc "); findSQL.Append(" ON ttc.TipoId = tt.TipoId "); findSQL.Append(" AND ttc.IdCliente = " + tiposTicketsClientesModel.IdCliente); findSQL.Append(" AND tt.Descripcion = '" + tiposTicketsClientesModel.TiposTicket.Descripcion + "'"); TiposTicket findTiposTickets = iGenericDataAccess.ExecuteQuery <TiposTicket>(findSQL.ToString())[0]; if (findTiposTickets.TiempoAtencion > 0) { throw new DomainException(CodesConfigParamTickets.INF_08_01); } TiposTicket tt = new TiposTicket { Descripcion = tiposTicketsClientesModel.TiposTicket.Descripcion, TiempoAtencion = tiposTicketsClientesModel.TiposTicket.TiempoAtencion, Activa = true }; TiposTicket saveTicket = iGenericDataAccess.Guardar(tt); ticketsClientes.TipoId = saveTicket.TipoId; TiposTicketsClientes saveTiposTicketsClientes = iGenericDataAccess.Guardar(ticketsClientes); model.IdCliente = saveTiposTicketsClientes.TipoId; iGenericDataAccess.CloseConnection(); return(model); } catch (DomainException e) { throw new DomainException(e.Mensaje); } catch (Exception e) { iGenericDataAccess.CloseConnection(); throw new DalException(CodesConfigParamTickets.ERR_08_03, e); } }
public CalendarioModel GuardarCalendario(CalendarioModel calendarioModel) { try { iGenericDataAccess.OpenConnection(); IList <CatDiasHabiles> findDia = iGenericDataAccess. Consultar(new CatDiasHabiles() { Dia = calendarioModel.Dia.Date }, new OptionsQueryZero() { ExcludeNumericsDefaults = true, ExcludeBool = true }); if (findDia.Count > 0) { throw new DalException(CodesCalendario.INF_07_00); } else { CatDiasHabiles obj = iGenericDataAccess. Guardar(new CatDiasHabiles() { PersonaId = 177080, Dia = calendarioModel.Dia, FechaRegistro = DateTime.Today }); iGenericDataAccess.OpenConnection(); calendarioModel.IdDiaHabil = obj.IdDiaHabil; calendarioModel.PersonaId = obj.PersonaId; calendarioModel.FechaDia = DateToString(obj.Dia); } } catch (DalException e) { throw e; } catch (Exception e) { iGenericDataAccess.CloseConnection(); throw new DalException(CodesCalendario.ERR_07_03, e); } return(calendarioModel); }
public TicketModel GuardarTicket(TicketModel ticketModel) { DateTime fechaActual = DateTime.Now; try { iGenericDataAccess.OpenConnection(); iGenericDataAccess.BeginTran(); RegistrosTicket registrosTicket = iGenericDataAccess.Guardar(new RegistrosTicket() { FechaRegistro = fechaActual, TipoId = ticketModel.TipoId, UsuarioId = ticketModel.GetIdUsuarioSesion(), Descripcion = ticketModel.DescripcionTicket, IdCaratula = ticketModel.CaratulaId, IdCliente = ticketModel.PersonaId, IdOrigenTicket = ticketModel.CatalogoOrigenId == 0 ? null : ticketModel.CatalogoOrigenId, FechaRecepcion = ticketModel.FechaRecepcion, NumeroOT = null, //investigar con que dato se llenara NumeroOTSICS = null, //investigar con que dato se llenara ResponsableId = ticketModel.ResponsableId, AseguradoraId = ticketModel.AseguradoraId }); iGenericDataAccess.Guardar(new TicketsEstatus() { TicketId = registrosTicket.TicketId, IdEstatusTicket = ticketModel.IdEstatusTicket, //Falta obtener el idUsuario de session PersonaId = ticketModel.PersonaId, FechaRegistro = fechaActual, NombreArchivoTicketCerrado = "", RutaArchivoTicketCerrado = "", Activo = true //Falta obtener fecha calculada }); if (!ticketModel.EsClienteFlotillas) { iGenericDataAccess.Guardar(new TicketsDatosContactos() { TicketId = registrosTicket.TicketId, IdAgencia = ticketModel.DatosContactoAgenciaId, Nombre = ticketModel.DatosContactoNombre, Apellidos = ticketModel.DatosContactoApellidos, Telefono = ticketModel.DatosContactoTelefonos, Email = ticketModel.DatosContactoEmail }); } foreach (var archivo in ticketModel.Archivos) { ArchivosTickets archivosTickets = iGenericDataAccess.BuscarUno(new ArchivosTickets { IdArchivoTicket = archivo.IdArchivoTicket, }, new OptionsQueryZero { ExcludeNumericsDefaults = true, ExcludeBool = true }); iGenericDataAccess.Actualizar(new ArchivosTickets() { IdArchivoTicket = archivosTickets.IdArchivoTicket, TicketId = registrosTicket.TicketId, NombreArchivo = archivosTickets.NombreArchivo, RutaArchivo = archivosTickets.RutaArchivo, IdEstatusTicket = ticketModel.IdEstatusTicket }); } if (!string.IsNullOrEmpty(ticketModel.CopiarA)) { String[] correos = ticketModel.CopiarA.Split(';'); foreach (var copiarA in correos) { if (!string.IsNullOrEmpty(copiarA)) { iGenericDataAccess.Guardar(new CorreosCopiaTickets() { TicketId = registrosTicket.TicketId, Correo = copiarA }); } } } ticketModel.TicketId = registrosTicket.TicketId; ticketModel.FechaRegistro = fechaActual; ticketModel.FechaRecepcion = registrosTicket.FechaRecepcion; iGenericDataAccess.CommitTran(); } catch (DomainException de) { iGenericDataAccess?.RollbackTran(); throw new DalException(CodesTickets.ERR_00_12, de); } catch (Exception e) { iGenericDataAccess?.RollbackTran(); iGenericDataAccess?.CloseConnection(); throw new DalException(CodesCalendario.ERR_07_03, e); } return(ticketModel); }