Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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));
 }