Esempio n. 1
0
        /// <summary>
        /// Devuelve la lista completa de Tipos de Evento
        /// </summary>
        /// <returns>Lista de TipoEventoEntity en la base de datos</returns>
        public List <TipoEventoEntity> BuscarTodo()
        {
            List <TipoEventoEntity> tiposEvento = new List <TipoEventoEntity>();

            TipoEventoTableAdapter tiposEventoAdapter = new TipoEventoTableAdapter();

            foreach (TipoEventoRow fila in tiposEventoAdapter.GetData())
            {
                TipoEventoEntity tipoEvento = null;

                if (fila.IdTipoEvento == CoffeeBreakDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CoffeeBreakEntity();
                }
                else if (fila.IdTipoEvento == CocktailDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CocktailEntity();
                }
                else if (fila.IdTipoEvento == CenaDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CenaEntity();
                }
                else
                {
                    tipoEvento = new TipoEventoEntity();
                }

                tipoEvento.Id          = fila.IdTipoEvento;
                tipoEvento.Descripcion = fila.Descripcion;

                tiposEvento.Add(tipoEvento);
            }

            return(tiposEvento);
        }
Esempio n. 2
0
        public TipoEventoEntity BuscarPorId(int id)
        {
            TipoEventoEntity tipoEvento = null;

            TipoEventoTableAdapter adapter = new TipoEventoTableAdapter();

            TipoEventoRow fila = adapter.BuscarPorId(id).FirstOrDefault();

            if (fila != null)
            {
                if (fila.IdTipoEvento == CoffeeBreakDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CoffeeBreakEntity();
                }
                else if (fila.IdTipoEvento == CocktailDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CocktailEntity();
                }
                else if (fila.IdTipoEvento == CenaDAO.ReferenciaIdTipoEvento)
                {
                    tipoEvento = new CenaEntity();
                }
                else
                {
                    tipoEvento = new TipoEventoEntity();
                }


                tipoEvento.Id          = fila.IdTipoEvento;
                tipoEvento.Descripcion = fila.Descripcion;
            }

            return(tipoEvento);
        }
        public Cocktail Get(int id)
        {
            var entity = _dataContext.Cocktails
                         .Include(c => c.CocktailBitters)
                         .SingleOrDefault(c => c.CocktailId == id);

            return(entity == null ? null : CocktailEntity.Map(entity));
        }
        public Cocktail Add(Cocktail model)
        {
            var entity      = CocktailEntity.Map(model);
            var newCocktail = _dataContext.Cocktails.Add(entity).Entity;

            _dataContext.SaveChanges();
            return(CocktailEntity.Map(newCocktail));
        }
Esempio n. 5
0
        public void Insertar(CocktailEntity cocktail, string numeroContrato)
        {
            CocktailTableAdapter cocktailTableAdapter = new CocktailTableAdapter();

            cocktailTableAdapter.Insert(numeroContrato,
                                        (cocktail.Ambientacion is NullTipoAmbientacionEntity) ? null : cocktail.Ambientacion.Id as int?,
                                        cocktail.Ambientacion is NullTipoAmbientacionEntity,
                                        cocktail.MusicaAmbiental,
                                        cocktail.MusicaCliente);
        }
Esempio n. 6
0
        public void ModificarPorNumeroContrato(CocktailEntity cocktail, string numeroContrato)
        {
            CocktailTableAdapter cocktailTableAdapter = new CocktailTableAdapter();

            cocktailTableAdapter.ModificarPorNumeroContrato((cocktail.Ambientacion is NullTipoAmbientacionEntity) ? null : cocktail.Ambientacion.Id as int?,
                                                            cocktail.Ambientacion is NullTipoAmbientacionEntity,
                                                            cocktail.MusicaAmbiental,
                                                            cocktail.MusicaCliente,
                                                            numeroContrato);
        }
        public async Task ReturnAllCocktails_WhenUserIsAdmin()
        {
            const string userRole = "Admin";

            var cocktailEntity1 = new CocktailEntity()
            {
                Name     = "TestCocktail1",
                Recipe   = "TestCocktailRecipe1",
                IsHidden = false
            };

            var cocktailEntity2 = new CocktailEntity()
            {
                Name     = "TestCocktail2",
                Recipe   = "TestCocktailRecipe1",
                IsHidden = false
            };

            var cocktailEntity3 = new CocktailEntity()
            {
                Name     = "TestCocktail3",
                Recipe   = "TestCocktailRecipe1",
                IsHidden = true
            };

            var options = TestUtilities.GetOptions(nameof(ReturnAllCocktails_WhenUserIsAdmin));

            using (var arrangeContext = new AppDBContext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktailEntity1);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity2);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity3);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new AppDBContext(options))
            {
                var sut             = new CocktailService(actContext);
                var listOfCocktails = await sut.ListAll(userRole);

                var count = listOfCocktails.Count();

                Assert.AreEqual(3, count);
            }
        }
 public static CocktailEntity ToEntity(this CocktailUpdateRequest contract, CocktailEntity entity)
 {
     if (contract == null)
     {
         return(null);
     }
     return(new CocktailEntity
     {
         Id = entity.Id,
         Name = contract.Name,
         Recipe = contract.Recipe,
         Rating = entity.Rating,
         IsHidden = contract.IsHidden,
         ImagePath = contract.ImagePath
     });
 }
 public static Cocktail ToContract(this CocktailEntity entity)
 {
     if (entity == null)
     {
         return(null);
     }
     return(new Cocktail
     {
         Id = entity.Id,
         Name = entity.Name,
         Recipe = entity.Recipe,
         Rating = entity.Rating,
         IsHidden = entity.IsHidden,
         ImagePath = entity.ImagePath,
         Ingredients = entity.CocktailIngredients?
                       .Select(x => x.IngredientEntity.ToContract())
     });
 }
Esempio n. 10
0
        public async Task ChangeIsHiddenStatus()
        {
            var cocktailEntity = new CocktailEntity()
            {
                Id       = 1,
                Name     = "TestCocktailName",
                Recipe   = "TestCocktailRecipe",
                IsHidden = false
            };

            var options = TestUtilities.GetOptions(nameof(ChangeIsHiddenStatus));


            using (var arrangeContext = new AppDBContext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktailEntity);

                await arrangeContext.SaveChangesAsync();
            }
            using (var actContext = new AppDBContext(options))
            {
                var sut = new CocktailService(actContext);

                var cocktail = await sut.Toggle(cocktailEntity.Id);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new AppDBContext(options))
            {
                var cocktail = await assertContext.Cocktails.SingleOrDefaultAsync(x => x.Id == cocktailEntity.Id);

                Assert.AreEqual(true, cocktail.IsHidden);
                Assert.AreEqual(1, cocktail.Id);
            }
        }
        public async Task ReturnCorrectTopRatedCocktails()
        {
            var cocktailEntity1 = new CocktailEntity()
            {
                Name     = "TestCocktail1",
                Recipe   = "TestCocktailRecipe1",
                IsHidden = false,
                Rating   = 5
            };

            var cocktailEntity2 = new CocktailEntity()
            {
                Name     = "TestCocktail2",
                Recipe   = "TestCocktailRecipe2",
                IsHidden = false,
                Rating   = 4
            };

            var cocktailEntity3 = new CocktailEntity()
            {
                Name     = "TestCocktail3",
                Recipe   = "TestCocktailRecipe3",
                IsHidden = false,
                Rating   = 3
            };

            var cocktailEntity4 = new CocktailEntity()
            {
                Name     = "TestCocktail4",
                Recipe   = "TestCocktailRecipe4",
                IsHidden = true,
                Rating   = 2
            };
            var cocktailEntity5 = new CocktailEntity()
            {
                Name     = "TestCocktail5",
                Recipe   = "TestCocktailRecipe5",
                IsHidden = true,
                Rating   = 1
            };

            var options = TestUtilities.GetOptions(nameof(ReturnCorrectTopRatedCocktails));

            using (var arrangeContext = new AppDBContext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktailEntity1);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity2);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity3);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity4);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity5);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new AppDBContext(options))
            {
                var sut = new CocktailService(actContext);
                var listOfTopRatedCocktails = await sut.GetTopRatedCoktails();

                Assert.AreEqual("TestCocktail1", listOfTopRatedCocktails.FirstOrDefault().Name);
                Assert.AreEqual("TestCocktail2", listOfTopRatedCocktails.Skip(1).FirstOrDefault().Name);
                Assert.AreEqual("TestCocktail3", listOfTopRatedCocktails.Skip(2).FirstOrDefault().Name);
            }
        }
        public async Task ReturnExactlyThreeCocktails()
        {
            var cocktailEntity1 = new CocktailEntity()
            {
                Name     = "TestCocktail1",
                Recipe   = "TestCocktailRecipe1",
                IsHidden = false,
                Rating   = 5
            };

            var cocktailEntity2 = new CocktailEntity()
            {
                Name     = "TestCocktail2",
                Recipe   = "TestCocktailRecipe2",
                IsHidden = false,
                Rating   = 4
            };

            var cocktailEntity3 = new CocktailEntity()
            {
                Name     = "TestCocktail3",
                Recipe   = "TestCocktailRecipe3",
                IsHidden = false,
                Rating   = 3
            };

            var cocktailEntity4 = new CocktailEntity()
            {
                Name     = "TestCocktail4",
                Recipe   = "TestCocktailRecipe3",
                IsHidden = false,
                Rating   = 2
            };
            var cocktailEntity5 = new CocktailEntity()
            {
                Name     = "TestCocktail5",
                Recipe   = "TestCocktailRecipe3",
                IsHidden = false,
                Rating   = 1
            };

            var options = TestUtilities.GetOptions(nameof(ReturnExactlyThreeCocktails));

            using (var arrangeContext = new AppDBContext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktailEntity1);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity2);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity3);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity4);

                await arrangeContext.Cocktails.AddAsync(cocktailEntity5);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new AppDBContext(options))
            {
                var sut = new CocktailService(actContext);
                var listOfRatedCocktails = await sut.GetTopRatedCoktails();

                var cocktailsCount = listOfRatedCocktails.Count();

                Assert.AreEqual(3, cocktailsCount);
            }
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        public void RestaurarMemento(AdministracionContratoMemento memento)
        {
            if (memento.Contrato == null)
            {
                this.Contrato = new NullContratoEntity();
            }

            MementoActual = memento;

            TipoEventoEntity tipoEvento = null;

            if (memento.Contrato.Tipo != null)
            {
                if (memento.Contrato.Tipo is CoffeeBreakEntity)
                {
                    tipoEvento = new CoffeeBreakEntity()
                    {
                        Id          = memento.Contrato.Tipo.Id,
                        Descripcion = memento.Contrato.Tipo.Descripcion,
                        Vegetariana = (memento.Contrato.Tipo as CoffeeBreakEntity).Vegetariana
                    };
                }
                else if (memento.Contrato.Tipo is CocktailEntity)
                {
                    tipoEvento = new CocktailEntity()
                    {
                        Id              = memento.Contrato.Tipo.Id,
                        Descripcion     = memento.Contrato.Tipo.Descripcion,
                        Ambientacion    = ((memento.Contrato.Tipo as CocktailEntity).Ambientacion == null) ? new NullTipoAmbientacionEntity() : (memento.Contrato.Tipo as CocktailEntity).Ambientacion,
                        MusicaAmbiental = (memento.Contrato.Tipo as CocktailEntity).MusicaAmbiental,
                        MusicaCliente   = (memento.Contrato.Tipo as CocktailEntity).MusicaCliente
                    };
                }
                else if (memento.Contrato.Tipo is CenaEntity)
                {
                    tipoEvento = new CenaEntity()
                    {
                        Id              = memento.Contrato.Tipo.Id,
                        Descripcion     = memento.Contrato.Tipo.Descripcion,
                        Ambientacion    = ((memento.Contrato.Tipo as CocktailEntity).Ambientacion == null) ? new NullTipoAmbientacionEntity() : (memento.Contrato.Tipo as CocktailEntity).Ambientacion,
                        MusicaAmbiental = (memento.Contrato.Tipo as CocktailEntity).MusicaAmbiental,
                        LocalOnBreak    = (memento.Contrato.Tipo as CenaEntity).LocalOnBreak,
                        OtroLocal       = (memento.Contrato.Tipo as CenaEntity).OtroLocal,
                        ValorArriendo   = (memento.Contrato.Tipo as CenaEntity).ValorArriendo
                    };
                }
                else
                {
                    tipoEvento = new TipoEventoEntity()
                    {
                        Id          = memento.Contrato.Tipo.Id,
                        Descripcion = memento.Contrato.Tipo.Descripcion,
                    };
                }
            }



            if (this.Contrato is NullContratoEntity)
            {
                this.Contrato = new NullContratoEntity()
                {
                    Asistentes        = memento.Contrato.Asistentes,
                    Cliente           = memento.Contrato.Cliente ?? new NullClienteEntity(),
                    Tipo              = tipoEvento,
                    Creacion          = memento.Contrato.Creacion,
                    InicioEvento      = memento.Contrato.InicioEvento,
                    ModalidadServicio = memento.Contrato.ModalidadServicio,
                    NumeroContrato    = memento.Contrato.NumeroContrato,
                    Observaciones     = memento.Contrato.Observaciones,
                    PersonalAdicional = memento.Contrato.PersonalAdicional,
                    PrecioTotal       = memento.Contrato.PrecioTotal,
                    Realizado         = memento.Contrato.Realizado,
                    Termino           = memento.Contrato.Termino,
                    TerminoEvento     = memento.Contrato.TerminoEvento
                };
            }
            else
            {
                this.Contrato = new ContratoEntity()
                {
                    Asistentes        = memento.Contrato.Asistentes,
                    Cliente           = memento.Contrato.Cliente ?? new NullClienteEntity(),
                    Tipo              = tipoEvento,
                    Creacion          = memento.Contrato.Creacion,
                    InicioEvento      = memento.Contrato.InicioEvento,
                    ModalidadServicio = memento.Contrato.ModalidadServicio,
                    NumeroContrato    = memento.Contrato.NumeroContrato,
                    Observaciones     = memento.Contrato.Observaciones,
                    PersonalAdicional = memento.Contrato.PersonalAdicional,
                    PrecioTotal       = memento.Contrato.PrecioTotal,
                    Realizado         = memento.Contrato.Realizado,
                    Termino           = memento.Contrato.Termino,
                    TerminoEvento     = memento.Contrato.TerminoEvento
                };
            }

            if (memento.Contrato.Cliente is NullClienteEntity)
            {
                this.RutBusquedaCliente = null;
            }
            else
            {
                this.Contrato.Cliente   = memento.Contrato.Cliente;
                this.RutBusquedaCliente = memento.Contrato.Cliente.Rut;
            }
        }
Esempio n. 15
0
        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
            });
        }