public void delete(ContratoEntity contrato) { adapter.Delete(contrato.NumeroContrato, contrato.FechaCreacion, contrato.RutCliente.Rut, contrato.CodigoPlan.IdPlan, contrato.InicioVigencia, contrato.FinVigencia, contrato.EstadoVigente, contrato.DeclaracionSalud, contrato.PrimaAnual, contrato.PrimaMensual); }
public void Crear(ContratoEntity contrato) { //Creacion de objeto Adaptador de la tabla Cliente que //posee el CRUD ContratoTableAdapter adapter = new ContratoTableAdapter(); //Llamamos al método insertar del adaptador adapter.Insert(contrato.NumeroContrato, contrato.Creacion, contrato.Termino, contrato.Cliente.Rut, contrato.ModalidadServicio.Id, contrato.Tipo.Id, contrato.InicioEvento, contrato.TerminoEvento, contrato.Asistentes, contrato.PersonalAdicional, contrato.Realizado, contrato.PrecioTotal, (contrato.Observaciones == null) ? "" : contrato.Observaciones); if (contrato.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { coffeeBreakDAO.Insertar(contrato.Tipo as CoffeeBreakEntity, contrato.NumeroContrato); } else if (contrato.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { cocktailDAO.Insertar(contrato.Tipo as CocktailEntity, contrato.NumeroContrato); } else if (contrato.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { cenaDAO.Insertar(contrato.Tipo as CenaEntity, contrato.NumeroContrato); } }
public List <ContratoEntity> findAll() { List <ContratoEntity> contratos = new List <ContratoEntity>(); ClienteDAO daoClientes = new ClienteDAOImpl(); List <ClienteEntity> clientes = daoClientes.findAll(); foreach (BeLifeDataSet.ContratoRow row in adapter.GetData().Rows) { ContratoEntity contrato = new ContratoEntity(); contrato.NumeroContrato = row.Numero; contrato.FechaCreacion = row.FechaCreacion; contrato.RutCliente.Rut = row.RutCliente; contrato.CodigoPlan.IdPlan = row.CodigoPlan; contrato.InicioVigencia = row.FechaInicioVigencia; contrato.FinVigencia = row.FechaFinVigencia; contrato.EstadoVigente = row.Vigente; contrato.DeclaracionSalud = row.DeclaracionSalud; contrato.PrimaAnual = row.PrimaAnual; contrato.PrimaMensual = row.PrimaMensual; contrato.Observaciones = row.Observaciones; contratos.Add(contrato); } return(contratos); }
protected void btnGravar_Click(object sender, EventArgs e) { ContratoEntity contrato = new ContratoEntity(); ContratoController contratoController = new ContratoController(); if (txtNome.Text == "" || txtCpf.Text == "" || txtCargo.SelectedValue == "0") { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Preencha todos os campos!');</script>"); } else { string cpfUsu = null; try { cpfUsu = Request.QueryString["cpfUsu"].ToString(); contrato = contratoController.ObterAtivo(cpfUsu); contrato.codCar = Convert.ToInt32(txtCargo.SelectedValue); } catch { } if (cpfUsu != null) { if (contratoController.Atualizar(contrato)) { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Contrato alterado com sucesso!'); window.location.href='Funcionario.aspx';</script>"); } else { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Erro na alteração do registro!');</script>"); } } } }
protected void btnGravar_Click(object sender, EventArgs e) { EmpresaEntity empresa = new EmpresaEntity(); EmpresaController empresaController = new EmpresaController(); if (txtCnpj.Text == "" || txtNome.Text == "" || txtTelefone.Text == "") { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Preencha todos os campos!');</script>"); } else { empresa.cnpjEmp = txtCnpj.Text; empresa.nomEmp = txtNome.Text; empresa.endEmp = txtEndereco.Text; empresa.cidEmp = txtCidade.Text; empresa.ufEmp = txtUf.Text; empresa.telEmp = txtTelefone.Text; if (Session["cnpjEmp"] != null) { if (empresaController.Atualizar(empresa)) { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Empresa alterada com sucesso!'); window.location.href='Home.aspx';</script>"); } else { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Erro na alteração do registro!');</script>"); } } else { if (empresaController.Inserir(empresa)) { ContratoEntity contrato = new ContratoEntity(); contrato.cpfUsu = Session["cpfUsu"].ToString(); contrato.cnpjEmp = empresa.cnpjEmp; contrato.codCar = 3; // 3 -> código de proprietário ContratoController contratoController = new ContratoController(); contratoController.Inserir(contrato); this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Empresa salva com sucesso!'); window.location.href='Login.aspx';</script>"); } else { this.ClientScript.RegisterClientScriptBlock(typeof(string), "alert", "<script>alert('Erro na inclusão do registro!');</script>"); } } } }
/// <summary> /// Realiza la adaptación de campos para registrar o actualizar /// </summary> /// <param name="data">Datos a registrar o actualizar</param> /// <returns>Entidad Contrato con los datos a registrar</returns> public static ContratoEntity RegistrarContrato(ContratoRequest data) { var contratoEntity = new ContratoEntity(); NumberFormatInfo numberFormatInfo = new NumberFormatInfo(); numberFormatInfo.NumberDecimalSeparator = "."; numberFormatInfo.NumberGroupSeparator = ","; if (data.CodigoContrato != null) { contratoEntity.CodigoContrato = new Guid(data.CodigoContrato.ToString()); } else { Guid code; code = Guid.NewGuid(); contratoEntity.CodigoContrato = code; } contratoEntity.CodigoUnidadOperativa = new Guid(data.CodigoUnidadOperativa.ToString()); contratoEntity.CodigoProveedor = data.CodigoProveedor; contratoEntity.NumeroContrato = data.NumeroContrato; contratoEntity.Descripcion = data.Descripcion; contratoEntity.CodigoTipoServicio = data.CodigoTipoServicio; contratoEntity.CodigoTipoRequerimiento = data.CodigoTipoRequerimiento; contratoEntity.CodigoTipoDocumento = data.CodigoTipoDocumento; contratoEntity.FechaInicioVigencia = DateTime.ParseExact(data.FechaInicioVigenciaString, DatosConstantes.Formato.FormatoFecha, System.Globalization.CultureInfo.InvariantCulture); contratoEntity.FechaFinVigencia = DateTime.ParseExact(data.FechaFinVigenciaString, DatosConstantes.Formato.FormatoFecha, System.Globalization.CultureInfo.InvariantCulture); contratoEntity.CodigoMoneda = data.CodigoMoneda; contratoEntity.MontoContrato = Decimal.Parse(data.MontoContratoString, numberFormatInfo); contratoEntity.MontoAcumulado = (data.MontoAcumuladoString != null) ? Decimal.Parse(data.MontoAcumuladoString, numberFormatInfo) : 0; contratoEntity.CodigoEstado = data.CodigoEstado; contratoEntity.CodigoPlantilla = data.CodigoPlantilla; contratoEntity.CodigoFlujoAprobacion = new Guid(data.CodigoFlujoAprobacion); contratoEntity.CodigoEstadoEdicion = data.CodigoEstadoEdicion; contratoEntity.ComentarioModificacion = data.ComentarioModificacion; contratoEntity.CodigoContratoPrincipal = data.CodigoContratoPrincipal; contratoEntity.FechaCreacion = DateTime.Now; contratoEntity.NumeroAdenda = data.NumeroAdenda; contratoEntity.NumeroAdendaConcatenado = data.NumeroAdendaConcatenado; contratoEntity.EsFlexible = false; contratoEntity.EsCorporativo = data.EsCorporativo; contratoEntity.CodigoRequerido = new Guid(data.CodigoRequerido); return(contratoEntity); }
public static ResultadoValidacion CamposObligatorios(ContratoEntity contrato) { if (contrato.Cliente is NullClienteEntity) { return(new ResultadoValidacion() { Exito = false, MensajeError = "Se debe especificar un cliente" }); } if (contrato.InicioEvento == null || contrato.TerminoEvento == null || contrato.Creacion == null || contrato.Tipo == null || contrato.ModalidadServicio == null ) { return(new ResultadoValidacion() { Exito = false, MensajeError = "Se deben especificar todos los campos necesarios." }); } // Validaciones especificas para Tipos de Evento particulares if (contrato.Tipo is CenaEntity) { if ((contrato.Tipo as CenaEntity).Ambientacion is NullTipoAmbientacionEntity) { return(new ResultadoValidacion() { Exito = false, MensajeError = "El tipo de evento seleccionado requiere especificar ambientación" }); } } return(new ResultadoValidacion() { Exito = true }); }
public void BuscarContratoCommandHandler(object parameters) { this.Contrato = new NullContratoEntity(); ContratoEntity contratoCoincidente = null; string numeroContrato = parameters.ToString(); if (String.IsNullOrEmpty(numeroContrato)) { return; } try { contratoCoincidente = ContratoDAO.BuscarPorNumero(numeroContrato); } catch (Exception ex) { Console.Write(ex); MessageBox.Show("Número de contrato inválido.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } if (contratoCoincidente == null) { MessageBox.Show("No se encontró ningún contrato asociado al número indicado", "Error", MessageBoxButton.OK, MessageBoxImage.Warning); return; } // Desplegamos la información del contrato try { this.Contrato = contratoCoincidente; } catch { MessageBox.Show("Ocurrió un error al cargar la información del contrato"); } }
public void Eliminar(ContratoEntity contrato) { ContratoTableAdapter adapter = new ContratoTableAdapter(); if (contrato.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { coffeeBreakDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contrato.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { cocktailDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contrato.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { cenaDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } adapter.EliminarPorNumero(contrato.NumeroContrato); }
public static Response <ContratoEntity> ConsultarContrato(int idContrato) { try { // Consulta 'Contrato' ContratoEntity consultarContrato = CreditoRepository.ConsultarContrato(idContrato); if (consultarContrato != null) { return(new Response <ContratoEntity>(true, consultarContrato, Message.MsgCorrectoConsultarContrato, true)); } else { return(new Response <ContratoEntity>(false, consultarContrato, Message.MsgValidaNullConsultarContrato, true)); } } catch (Exception ex) { Log.Instance(typeof(CreditoLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <ContratoEntity>(false, null, Message.MsgExcConsultarContrato, false)); } }
public static ContratoEntity ConsultarContrato(int idContrato) { ContratoEntity entidad = null; using (IDatabase db = DatabaseHelper.GetDatabase()) { db.ProcedureName = "Usp_Tb_contrato_Consulta"; db.AddParameter("@idContrato", DbType.Int32, ParameterDirection.Input, idContrato); using (IDataReader drlector = db.GetDataReader()) { while (drlector.Read()) { entidad = new ContratoEntity { Saldo = Reader.GetDecimalValue(drlector, "saldo"), Marcador = Reader.GetStringValue(drlector, "marcador") }; break; } } } return(entidad); }
public void Modificar(ContratoEntity contrato) { ContratoTableAdapter adapter = new ContratoTableAdapter(); // Buscamos el contrato antiguo y preguntamos por el tipoId ContratoEntity contratoAntiguo = BuscarPorNumero(contrato.NumeroContrato); bool cambioTipoContrato = false; if (contratoAntiguo.Tipo.Id != contrato.Tipo.Id) { cambioTipoContrato = true; } if (contrato.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { if (cambioTipoContrato == true) { if (contratoAntiguo.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { coffeeBreakDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { cocktailDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { cenaDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } coffeeBreakDAO.Insertar(contrato.Tipo as CoffeeBreakEntity, contrato.NumeroContrato); } else { coffeeBreakDAO.ModificarPorNumeroContrato(contrato.Tipo as CoffeeBreakEntity, contrato.NumeroContrato); } } else if (contrato.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { if (cambioTipoContrato == true) { if (contratoAntiguo.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { coffeeBreakDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { cocktailDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { cenaDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } cocktailDAO.Insertar(contrato.Tipo as CocktailEntity, contrato.NumeroContrato); } else { cocktailDAO.ModificarPorNumeroContrato(contrato.Tipo as CocktailEntity, contrato.NumeroContrato); } } else if (contrato.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { if (cambioTipoContrato == true) { if (contratoAntiguo.Tipo.Id == CoffeeBreakDAO.ReferenciaIdTipoEvento) { coffeeBreakDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CocktailDAO.ReferenciaIdTipoEvento) { cocktailDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } else if (contratoAntiguo.Tipo.Id == CenaDAO.ReferenciaIdTipoEvento) { cenaDAO.EliminarPorNumeroContrato(contrato.NumeroContrato); } cenaDAO.Insertar(contrato.Tipo as CenaEntity, contrato.NumeroContrato); } else { cenaDAO.ModificarPorNumeroContrato(contrato.Tipo as CenaEntity, contrato.NumeroContrato); } } adapter.Modificar(contrato.Creacion, contrato.Termino, contrato.Cliente.Rut, contrato.ModalidadServicio.Id, contrato.Tipo.Id, contrato.InicioEvento, contrato.TerminoEvento, contrato.Asistentes, contrato.PersonalAdicional, contrato.Realizado, contrato.PrecioTotal, (contrato.Observaciones == null) ? "" : contrato.Observaciones, contrato.NumeroContrato); }
public void update(ContratoEntity contrato) { throw new NotImplementedException(); }
public void update(ContratoEntity contrato) { dao.update(contrato); }
public void delete(ContratoEntity contrato) { dao.create(contrato); }
public static Response <List <ClienteCreditoEntity> > ListarClientesContrato(CreditoRequest request) { try { // Lista 'ClientesContrato' var listarClientesContrato = CreditoRepository.ListarClientesContrato(0); for (int i = 0; i < listarClientesContrato.Count; i++) { // Consulta 'Contrato' ContratoEntity consultarContrato = CreditoRepository.ConsultarContrato(listarClientesContrato[i].IdContrato); if (consultarContrato != null) { if (consultarContrato.Marcador == "1") { if (consultarContrato.Saldo <= 0) { listarClientesContrato.RemoveAt(i); i--; continue; } } } else { listarClientesContrato.RemoveAt(i); i--; continue; } // Verifica 'ContratoPasajes' var verificarContratoPasajes = CreditoRepository.VerificarContratoPasajes(listarClientesContrato[i].RucCliente, request.FechaViaje, request.FechaViaje, request.CodiOficina.ToString(), request.CodiRuta.ToString(), request.CodiServicio.ToString(), listarClientesContrato[i].IdRuc); if (verificarContratoPasajes.IdContrato <= 0) { // Valida 'ClientePrecioNormal' var validarClientePrecioNormal = CreditoRepository.ValidarClientePrecioNormal(listarClientesContrato[i].IdRuc, request.FechaViaje, request.FechaViaje); if (!validarClientePrecioNormal) { listarClientesContrato.RemoveAt(i); i--; continue; } } // Verificar 'PrecioNormal' var verificarPrecioNormal = CreditoRepository.VerificarPrecioNormal(verificarContratoPasajes.IdContrato); // Si encontró datos (IdNormal toma desde el 0) if (verificarPrecioNormal.IdNormal >= 0) { if (verificarPrecioNormal.Saldo <= 0) { listarClientesContrato.RemoveAt(i); i--; continue; } } // Sino else { if (verificarContratoPasajes.SaldoBoletos <= 0) { listarClientesContrato.RemoveAt(i); i--; continue; } } // Seteo variables auxiliares desde 'verificarContratoPasajes' listarClientesContrato[i].CntBoletos = verificarContratoPasajes.CntBoletos; // Cnt listarClientesContrato[i].SaldoBoletos = verificarContratoPasajes.SaldoBoletos; // SALDO listarClientesContrato[i].IdPrecio = verificarContratoPasajes.IdPrecio; // IdServicioContrato listarClientesContrato[i].Precio = verificarContratoPasajes.Precio; // Precio } if (listarClientesContrato.Count == 0) { return(new Response <List <ClienteCreditoEntity> >(false, listarClientesContrato, Message.MsgValidaListarClientesContrato, true)); } else { return(new Response <List <ClienteCreditoEntity> >(true, listarClientesContrato, Message.MsgCorrectoListarClientesContrato, true)); } } catch (Exception ex) { Log.Instance(typeof(CreditoLogic)).Error(System.Reflection.MethodBase.GetCurrentMethod().Name, ex); return(new Response <List <ClienteCreditoEntity> >(false, null, Message.MsgExcListarClientesContrato, false)); } }
public AdministracionContratoMemento() { Contrato = new NullContratoEntity(); }
public AdministracionContratoMemento(ContratoEntity contrato) { this.Contrato = contrato; }
public bool Atualizar(ContratoEntity contrato) { IContratoDAO iContratoDAO = (IContratoDAO)DAOFactory.CreateDAO <IContratoDAO>(); return(iContratoDAO.Atualizar(contrato)); }
public bool Inserir(ContratoEntity contrato) { IContratoDAO iContratoDAO = (IContratoDAO)DAOFactory.CreateDAO <IContratoDAO>(); return(iContratoDAO.Inserir(contrato)); }
public ContratoEntity ContratoEntityDesdeFila(CacheContratoRow fila) { ContratoEntity contrato; TipoEventoEntity tipoEventoBase = null; TipoEventoEntity tipoEvento = null; if (fila.IsIdTipoEventoNull() != true) { tipoEventoBase = tipoEventoDAO.BuscarPorId(fila.IdTipoEvento); if (fila.IdTipoEvento == CoffeeBreakDAO.ReferenciaIdTipoEvento) { tipoEvento = new CoffeeBreakEntity() { Id = fila.IdTipoEvento, Descripcion = tipoEventoBase.Descripcion, Vegetariana = fila.Vegetariana }; } else if (fila.IdTipoEvento == CocktailDAO.ReferenciaIdTipoEvento) { TipoAmbientacionEntity tipoAmbientacion = null; if (fila.IsIdTipoAmbientacionNull() == false) { tipoAmbientacion = tipoAmbientacionDAO.ObtenerPorId(fila.IdTipoAmbientacion); } tipoEvento = new CocktailEntity() { Id = fila.IdTipoEvento, Descripcion = tipoEventoBase.Descripcion, Ambientacion = (tipoAmbientacion == null) ? new NullTipoAmbientacionEntity() : tipoAmbientacion, MusicaAmbiental = fila.MusicaAmbiental, MusicaCliente = fila.MusicaCliente }; } else if (fila.IdTipoEvento == CenaDAO.ReferenciaIdTipoEvento) { TipoAmbientacionEntity tipoAmbientacion = null; if (fila.IsIdTipoAmbientacionNull() == false) { tipoAmbientacion = tipoAmbientacionDAO.ObtenerPorId(fila.IdTipoAmbientacion); } tipoEvento = new CenaEntity() { Id = fila.IdTipoEvento, Descripcion = tipoEventoBase.Descripcion, Ambientacion = (tipoAmbientacion == null) ? new NullTipoAmbientacionEntity() : tipoAmbientacion, MusicaAmbiental = fila.MusicaAmbiental, LocalOnBreak = fila.LocalOnBreak, OtroLocal = fila.OtroLocalOnBreak, ValorArriendo = fila.ValorArriendo }; } else { tipoEvento = tipoEventoBase; } } ClienteEntity cliente; cliente = (fila.IsRutClienteNull() == true) ? new NullClienteEntity() : clienteDAO.BuscarPorRut(fila.RutCliente); if (cliente == null) { cliente = new NullClienteEntity(); } ModalidadServicioEntity modalidad = null; if (fila.IsIdModalidadNull() != true) { modalidad = modalidadServicioDAO.BuscarPorId(fila.IdModalidad); } if (fila.IsNumeroContratoNull() == true) { contrato = new NullContratoEntity() { NumeroContrato = (fila.IsNumeroContratoNull() == true) ? null : fila.NumeroContrato, Creacion = (fila.IsCreacionNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.Creacion, Termino = (fila.IsTerminoNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.Termino, Cliente = cliente, InicioEvento = (fila.IsFechaHoraInicioNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.FechaHoraInicio, TerminoEvento = (fila.IsFechaHoraTerminoNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.FechaHoraTermino, Asistentes = (fila.IsAsistentesNull() == true) ? 1 : fila.Asistentes, PersonalAdicional = (fila.IsPersonalAdicionalNull() == true) ? 0 : fila.PersonalAdicional, Realizado = (fila.IsRealizadoNull() == true) ? false : fila.Realizado, PrecioTotal = (fila.IsValorTotalContratoNull() == true) ? 0 : fila.ValorTotalContrato, Observaciones = (fila.IsObservacionesNull() == true) ? null : fila.Observaciones, Tipo = tipoEvento }; contrato.ModalidadServicio = modalidad; } else { contrato = new ContratoEntity() { NumeroContrato = (fila.IsNumeroContratoNull() == true) ? null : fila.NumeroContrato, Creacion = (fila.IsCreacionNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.Creacion, Termino = (fila.IsTerminoNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.Termino, Cliente = cliente, InicioEvento = (fila.IsFechaHoraInicioNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.FechaHoraInicio, TerminoEvento = (fila.IsFechaHoraTerminoNull() == true) ? (DateTime)SqlDateTime.MinValue : fila.FechaHoraTermino, Asistentes = (fila.IsAsistentesNull() == true) ? 1 : fila.Asistentes, PersonalAdicional = (fila.IsPersonalAdicionalNull() == true) ? 0 : fila.PersonalAdicional, Realizado = (fila.IsRealizadoNull() == true) ? false : fila.Realizado, PrecioTotal = (fila.IsValorTotalContratoNull() == true) ? 0 : fila.ValorTotalContrato, Observaciones = (fila.IsObservacionesNull() == true) ? null : fila.Observaciones, Tipo = tipoEvento }; contrato.ModalidadServicio = modalidad; } return(contrato); }
public AdministracionContratoMemento CrearMemento() { ContratoEntity contrato; TipoEventoEntity tipoEvento = null; if (this.Contrato.Tipo != null) { if (this.Contrato.Tipo is CoffeeBreakEntity) { tipoEvento = new CoffeeBreakEntity() { Id = this.Contrato.Tipo.Id, Descripcion = this.Contrato.Tipo.Descripcion, Vegetariana = (this.Contrato.Tipo as CoffeeBreakEntity).Vegetariana }; } else if (this.Contrato.Tipo is CocktailEntity) { tipoEvento = new CocktailEntity() { Id = this.Contrato.Tipo.Id, Descripcion = this.Contrato.Tipo.Descripcion, Ambientacion = ((this.Contrato.Tipo as CocktailEntity).Ambientacion == null) ? new NullTipoAmbientacionEntity() : (this.Contrato.Tipo as CocktailEntity).Ambientacion, MusicaAmbiental = (this.Contrato.Tipo as CocktailEntity).MusicaAmbiental, MusicaCliente = (this.Contrato.Tipo as CocktailEntity).MusicaCliente }; } else if (this.Contrato.Tipo is CenaEntity) { tipoEvento = new CenaEntity() { Id = this.Contrato.Tipo.Id, Descripcion = this.Contrato.Tipo.Descripcion, Ambientacion = ((this.Contrato.Tipo as CenaEntity).Ambientacion == null) ? new NullTipoAmbientacionEntity() : (this.Contrato.Tipo as CocktailEntity).Ambientacion, MusicaAmbiental = (this.Contrato.Tipo as CenaEntity).MusicaAmbiental, LocalOnBreak = (this.Contrato.Tipo as CenaEntity).LocalOnBreak, OtroLocal = (this.Contrato.Tipo as CenaEntity).OtroLocal, ValorArriendo = (this.Contrato.Tipo as CenaEntity).ValorArriendo }; } else { tipoEvento = new TipoEventoEntity() { Id = this.Contrato.Tipo.Id, Descripcion = this.Contrato.Tipo.Descripcion, }; } } if (this.Contrato is NullContratoEntity) { contrato = new NullContratoEntity() { Asistentes = this.Contrato.Asistentes, Cliente = this.Contrato.Cliente, Tipo = tipoEvento, Creacion = this.Contrato.Creacion, InicioEvento = this.Contrato.InicioEvento, ModalidadServicio = this.Contrato.ModalidadServicio, NumeroContrato = this.Contrato.NumeroContrato, Observaciones = this.Contrato.Observaciones, PersonalAdicional = this.Contrato.PersonalAdicional, PrecioTotal = this.Contrato.PrecioTotal, Realizado = this.Contrato.Realizado, Termino = this.Contrato.Termino, TerminoEvento = this.Contrato.TerminoEvento }; } else { contrato = new ContratoEntity() { Asistentes = this.Contrato.Asistentes, Cliente = this.Contrato.Cliente, Tipo = tipoEvento, Creacion = this.Contrato.Creacion, InicioEvento = this.Contrato.InicioEvento, ModalidadServicio = this.Contrato.ModalidadServicio, NumeroContrato = this.Contrato.NumeroContrato, Observaciones = this.Contrato.Observaciones, PersonalAdicional = this.Contrato.PersonalAdicional, PrecioTotal = this.Contrato.PrecioTotal, Realizado = this.Contrato.Realizado, Termino = this.Contrato.Termino, TerminoEvento = this.Contrato.TerminoEvento }; } return(new AdministracionContratoMemento() { FechaHora = DateTime.Now, Contrato = contrato }); }