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 SingleResponse <TiposTicketsClientesModel> ActulizarTiposTicketsClientes(TiposTicketsClientesModel tiposTicketsClientesModel) { SingleResponse <TiposTicketsClientesModel> response = new SingleResponse <TiposTicketsClientesModel>(); try { if (tiposTicketsClientesModel == null) { throw new DomainException(Codes.ERR_00_06); } IList <Validation> validations = ValidatorZero.Validate(tiposTicketsClientesModel, new OptionsValidation { ValidateIntCero = true }); IList <Validation> validationsDos = ValidatorZero.Validate(tiposTicketsClientesModel.TiposTicket); if (validations.Count > 0 || validationsDos.Count > 0) { IList <Validation> validaciones = new List <Validation>(); foreach (Validation validation in validationsDos) { validaciones.Add(validation); } foreach (Validation validation in validations) { validaciones.Add(validation); } throw new DomainValidationsException(validaciones); } TiposTicketsClientesModel update = iConfigurarParametrosTicketsDataAccess.ActulizarTiposTicketsClientes(tiposTicketsClientesModel); response.Done(update, string.Empty); } catch (DalException e) { response.Error(e); } catch (DomainValidationsException e) { response.SetValidations(e.Validations); } catch (DomainException e) { response.Error(e); } catch (Exception e) { response.Error(new DomainException(CodesConfigParamTickets.ERR_08_03, e)); } return(response); }
public TiposTicketsClientesModel ActulizarTiposTicketsClientes(TiposTicketsClientesModel tiposTicketsClientesModel) { TiposTicketsClientesModel model = new TiposTicketsClientesModel(); try { iGenericDataAccess.OpenConnection(); TiposTicket findTiposTicket = iGenericDataAccess.BuscarUno(new TiposTicket() { TipoId = tiposTicketsClientesModel.TipoId }, new OptionsQueryZero() { ExcludeNumericsDefaults = true }); if (findTiposTicket != null) { if (!findTiposTicket.Descripcion.Equals(tiposTicketsClientesModel.TiposTicket.Descripcion)) { 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 findTiposTicketsDos = iGenericDataAccess.ExecuteQuery <TiposTicket>(findSQL.ToString())[0]; if (findTiposTicketsDos.TiempoAtencion > 0) { throw new DalException(CodesConfigParamTickets.INF_08_01); } } } TiposTicket tt = new TiposTicket { TipoId = tiposTicketsClientesModel.TipoId, Descripcion = tiposTicketsClientesModel.TiposTicket.Descripcion, TiempoAtencion = tiposTicketsClientesModel.TiposTicket.TiempoAtencion, Activa = true }; TiposTicket saveTicket = iGenericDataAccess.Actualizar(tt); StringBuilder sqlUpdate = new StringBuilder(); sqlUpdate.Append("UPDATE TiposTicketsClientes "); sqlUpdate.Append(" SET IdPersonaResponsable = " + tiposTicketsClientesModel.IdPersonaResponsable + ","); sqlUpdate.Append(" IdPersonaEscalamiento1 = " + tiposTicketsClientesModel.IdPersonaEscalamiento1 + ","); sqlUpdate.Append(" IdPersonaEscalamiento2 = " + tiposTicketsClientesModel.IdPersonaEscalamiento2 + ","); sqlUpdate.Append(" HorasAtencion = " + tiposTicketsClientesModel.HorasAtencion + ","); sqlUpdate.Append(" HorasSegundoEscalamiento = " + tiposTicketsClientesModel.HorasSegundoEscalamiento); sqlUpdate.Append(" WHERE TipoId = " + saveTicket.TipoId); sqlUpdate.Append(" AND IdCliente = " + tiposTicketsClientesModel.IdCliente); iGenericDataAccess.ExecuteSql(sqlUpdate.ToString()); model.TipoId = saveTicket.TipoId; model.IdCliente = tiposTicketsClientesModel.IdCliente; iGenericDataAccess.CloseConnection(); return(model); } catch (Exception e) { iGenericDataAccess.CloseConnection(); throw new DalException(CodesConfigParamTickets.ERR_08_03, e); } }
public SingleResponse <TiposTicketsClientesModel> ActulizarTiposTicketsClientes(TiposTicketsClientesModel tiposTicketsClientesModel) { return(iConfigurarParametrosTicketsBusiness.ActulizarTiposTicketsClientes(tiposTicketsClientesModel)); }