コード例 #1
0
        public ICollection <string> GetImages(int id)
        {
            Accomodation acc = this.db.Accomodations.FirstOrDefault(x => x.Id == id);

            if (acc.ImageURLs == null)
            {
                return(null);
            }
            var filePaths = acc.ImageURLs.Split('#');

            List <string> retList = new List <string>();

            foreach (var filePath in filePaths)
            {
                var fullfilePath = HttpContext.Current.Server.MapPath("~/Content/Images/" + Path.GetFileName(filePath));
                if (File.Exists(fullfilePath))
                {
                    retList.Add(filePath);
                }
            }

            return(retList);

            /*//S2:Read File as Byte Array
             * byte[] fileData = File.ReadAllBytes(filePath);
             *
             * if (fileData == null)
             *  throw new HttpResponseException(HttpStatusCode.NotFound);
             * //S3:Set Response contents and MediaTypeHeaderValue
             */
        }
コード例 #2
0
        public JsonResult Action(AccomodationActionModel model)
        {
            JsonResult json   = new JsonResult();
            var        result = false;

            if (model.Id > 0)//editing a record
            {
                var accomodation = accomodationService.GetAccomodationId(model.Id);
                accomodation.Name        = model.Name;
                accomodation.Description = model.Description;

                accomodation.AccomodationPackageId = model.AccomodationPackageId;
                result = accomodationService.UpdateAccomodation(accomodation);
            }
            else//creating a new record
            {
                Accomodation accomodation = new Accomodation();
                accomodation.Name        = model.Name;
                accomodation.Description = model.Description;

                accomodation.AccomodationPackageId = model.AccomodationPackageId;

                result = accomodationService.SaveAccomodation(accomodation);
            }

            if (result)
            {
                json.Data = new { Success = true };
            }
            else
            {
                json.Data = new { Success = false, Message = "Unable to perform action on Accomodation Type" };
            }
            return(json);
        }
コード例 #3
0
        public ActionResult Action(int?ID, bool isDelete = false)
        {
            AccomodationActionViewModel model = new AccomodationActionViewModel();

            ViewBag.isDelete = isDelete;


            if (ID.HasValue && isDelete)
            {
                //delete here
                Accomodation accomodation = accomodationService.GetAccomodationById(ID);
                model.Id = accomodation.Id;
                model.AccomodationPackageId = accomodation.AccomodationPackageId;
                model.Name        = accomodation.Name;
                model.Description = accomodation.Description;
            }

            else if (ID.HasValue && isDelete == false)
            {
                //edit here
                Accomodation accomodation = accomodationService.GetAccomodationById(ID);
                model.Id = accomodation.Id;
                model.AccomodationPackageId = accomodation.AccomodationPackageId;
                model.Name        = accomodation.Name;
                model.Description = accomodation.Description;
            }
            else
            {
                //new entry
            }
            model.AccomodationPackages = accomodationPackagesService.GetAllAccomodationPackages();
            return(PartialView("_Action", model));
        }
コード例 #4
0
        public IHttpActionResult PostAccomodation(AccomodationViewModel accomodationViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Client c = db.Clients.SingleOrDefault(x => x.FirstName + " " + x.LastName == accomodationViewModel.ClientName);

            if (c == null)
            {
                string[] parts     = accomodationViewModel.ClientName.Split(' ');
                Client   newClient = new Client()
                {
                    FirstName = parts.FirstOrDefault(), LastName = parts.LastOrDefault()
                };
                c = db.Clients.Add(newClient);
            }

            Accomodation accomodation = ViewModelMapper.ToModelAccomodations(accomodationViewModel);

            accomodation.Client = c;
            db.Accomodations.Add(accomodation);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = accomodation.AccomodationId }, ViewModelMapper.ToViewModelAccomodations(accomodation)));
        }
コード例 #5
0
 public static AccomodationModel ToModel(this Accomodation accomodation)
 {
     return(new AccomodationModel
     {
         Number = accomodation.Number
     });
 }
コード例 #6
0
        public bool Save(Accomodation model)
        {
            var db = new HmsContext();

            db.Accomodations.Add(model);
            return(db.SaveChanges() > 0);
        }
コード例 #7
0
        public static AccomodationResource MapAccomodationToAccomodationResource(Accomodation accomodation)
        {
            var accomodationResource = new AccomodationResource
            {
                Id          = accomodation.Id,
                Description = accomodation.Description,
                Name        = accomodation.Name,
                Type        = accomodation.Type,
                Location    = new Location
                {
                    MapPositionLatitude  = accomodation.MapPositionLatitude,
                    MapPositionLongitude = accomodation.MapPositionLongitude
                },
                Address = new Address
                {
                    City   = accomodation.AddressCity,
                    Build  = accomodation.AddressBuild,
                    Street = accomodation.AddressStreet
                },
                Standard      = accomodation.Standard,
                Rooms         = MapRoomsToRoomResources(accomodation.Rooms),
                Alimentations = MapAlimentationsToAlimentationResources(accomodation.Alimentations)
            };

            return(accomodationResource);
        }
コード例 #8
0
 public static AccomodationEntity ToEntity(this Accomodation accomodation)
 {
     return(new AccomodationEntity
     {
         Number = accomodation.Number
     });
 }
コード例 #9
0
        public ActionResult Create(HttpPostedFileBase image, [Bind(Include = "UserId,Number_of_Rooms,Rent,Facilities,PetFriendly,Parking,Floor,Furnished,Posted_Date,Image_Id,Image,ImageIds")] Accomodation accomodation)
        {
            if (ModelState.IsValid)
            {
                accomodation.UserId      = User.Identity.GetUserId();
                accomodation.Posted_Date = DateTime.Now;
                db.Accomodations.Add(accomodation);
                db.SaveChanges();
                var accomodationId = accomodation.Id;


                var ImageIds = accomodation.Image_Id;

                string[] array = ImageIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);


                // int ImageId=0;
                foreach (string ImageId in array)
                {
                    int ImageId1 = Int32.Parse(ImageId);
                    AccomodationImage accomodationImages = db.AccomodationImages.Find(ImageId1);

                    db.Entry(accomodationImages).State = EntityState.Modified;
                    accomodationImages.AccomodationId  = accomodationId;
                    db.SaveChanges();
                }
                //Console.WriteLine(accomodation.Image_Id);


                return(RedirectToAction("Index"));
            }

            return(View(accomodation));
        }
コード例 #10
0
        //Function create
        public bool SaveAccomodation(Accomodation accomodation)
        {
            var context = new HMSContext();

            context.Accomodations.Add(accomodation);
            return(context.SaveChanges() > 0);
        }
コード例 #11
0
        //Function delete
        public bool DeleteAccomodation(Accomodation accomodation)
        {
            var context = new HMSContext();

            context.Entry(accomodation).State = System.Data.Entity.EntityState.Deleted;
            return(context.SaveChanges() > 0);
        }
コード例 #12
0
        public static double ExpenseFactory(string categoria, int expense)
        {
            ICategorieSpesa catSpesa;

            if (categoria.Trim().ToLower().Equals("viaggio"))
            {
                catSpesa = new Travel();
                return(catSpesa.CategoryAssignment(expense));
            }
            else if (categoria.Trim().ToLower().Equals("alloggio"))
            {
                catSpesa = new Accomodation();
                return(catSpesa.CategoryAssignment(expense));
            }
            else if (categoria.Trim().ToLower().Equals("vitto"))
            {
                catSpesa = new Food();
                return(catSpesa.CategoryAssignment(expense));
            }
            else if (categoria.Trim().ToLower().Equals("altro"))
            {
                catSpesa = new Other();
                return(catSpesa.CategoryAssignment(expense));
            }
            return(-1.0);
        }
コード例 #13
0
        public static bool AccomodationAddOrUpdate(Accomodation acc)
        {
            int res = -1;

            try
            {
                var thisacc = database.Query <Accomodation>("SELECT * FROM Accomodation WHERE AcmPNr = ?", new object[] { acc.AcmPNr });
                if (thisacc != null)
                {
                    res = thisacc.Count;
                }
                else
                {
                    res = -1;
                }

                if (res == 0)
                {
                    res = database.Insert(acc);
                }
                else if (res == 1)
                {
                    res = database.Update(acc);
                }
                else
                {
                    return(false);
                }
            }
            catch { return(false); }
            return(true);
        }
コード例 #14
0
        // GET: Accomodations/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Accomodation accomodation = db.Accomodations.Find(id);

            if (accomodation == null)
            {
                return(HttpNotFound());
            }
            AccomodationViewModel vm = new AccomodationViewModel();

            vm.Id              = accomodation.Id;
            vm.UserId          = accomodation.UserId;
            vm.Posted_Date     = accomodation.Posted_Date;
            vm.Number_of_Rooms = accomodation.Number_of_Rooms;
            vm.Rent            = accomodation.Rent;
            vm.PetFriendly     = accomodation.PetFriendly;
            vm.Parking         = accomodation.Parking;
            vm.Floor           = accomodation.Floor;
            vm.Furnished       = accomodation.Furnished;
            vm.Location        = accomodation.Location;
            vm.Description     = accomodation.Description;
            vm.Images          = accomodation.AccomodationImages.Where(t => t.AccomodationId == accomodation.Id).ToList();
            return(View(vm));
        }
        public bool IsSatisfiedBy(Entities.CulturalExchange entity)
        {
            if (!entity.OurAccomodation || !entity.AccomodationId.HasValue)
            {
                return(true);
            }

            if (entity.StartAccomodation == null || entity.FinishAccomodation == null)
            {
                return(true);
            }

            Accomodation accomodation = _accomodationRepository.GetById(entity.AccomodationId.Value);

            entity.DaysOfAccomodation = ((TimeSpan)(entity.StartAccomodation - entity.FinishAccomodation)).Days * 100;

            var culturalExchangeInAccomodation = _accomodationRepository.GetAccomodationAndCulturalExchangeList(entity.AccomodationId.Value);

            var reservations = culturalExchangeInAccomodation.CulturalExchanges.Where(x => x.StartAccomodation <= entity.StartAccomodation &&
                                                                                      x.FinishAccomodation >= entity.FinishAccomodation &&
                                                                                      x.OurAccomodation).ToList();

            if (reservations.Count >= accomodation.NumberOfPlaces)
            {
                entity.ValidationResult.Add(new ValidationResult("Date Start Accomodation invalid"));
            }

            return(true);
        }
コード例 #16
0
        public bool UpdateAccomodation(Accomodation accomodation)
        {
            var _context = new HMSContext();

            _context.Entry(accomodation).State = System.Data.Entity.EntityState.Modified;
            return(_context.SaveChanges() > 0);
        }
コード例 #17
0
        public IHttpActionResult PutAccomodation(int id, Accomodation accomodation)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != accomodation.Id)
            {
                return(BadRequest());
            }

            db.Entry(accomodation).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AccomodationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #18
0
        public JsonResult Action(AccomodationActionModel model)
        {
            JsonResult json   = new JsonResult();
            var        result = false;

            if (model.ID > 0) //we are trying to edit a record
            {
                var accomodation = accomodationsService.GetAccomodationByID(model.ID);
                accomodation.AccomodationPackageID = model.AccomodationPackageID;
                accomodation.Name        = model.Name;
                accomodation.Description = model.Description;
                result = accomodationsService.UpdateAccomodation(accomodation);
            }
            else //we are trying to create a record
            {
                Accomodation accomodation = new Accomodation();
                accomodation.AccomodationPackageID = model.AccomodationPackageID;
                accomodation.Name        = model.Name;
                accomodation.Description = model.Description;
                result = accomodationsService.SaveAccomodation(accomodation);
            }
            if (result)
            {
                json.Data = new { Success = true };
            }
            else
            {
                json.Data = new { Success = false, Message = "Unable to perform action on Accomodation." };
            }
            return(json);
        }
コード例 #19
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,AccomodationPackageID,Name,Description")] Accomodation accomodation)
        {
            if (id != accomodation.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(accomodation);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AccomodationExists(accomodation.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AccomodationPackageID"] = new SelectList(_context.AccomodationPackages, "ID", "Name", accomodation.AccomodationPackageID);
            return(View(accomodation));
        }
コード例 #20
0
        public ActionResult DeleteConfirmed(int id)
        {
            Accomodation accomodation = db.Accomodations.Find(id);

            db.Accomodations.Remove(accomodation);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #21
0
 public static void NotifyManager(Accomodation acc, string username)
 {
     //   ApprovedList = list;
     if (subscribed.ContainsValue(username))
     {
         hubContext.Clients.Client(subscribed.FirstOrDefault(x => x.Value == username).Key).getApprovedAcc(acc);
     }
 }
コード例 #22
0
        public void ClientShouldNotAcceptNullAccomodation()
        {
            Accomodation accomodation = null;

            Action action = () => new Client(PersonTest.GetPersonWithoutId(), accomodation);

            Check.ThatCode(action).Throws <ArgumentNullException>();
        }
コード例 #23
0
 public AccomodationController()
 {
     _AccomodationPackagesService = new AccomodationPackagesService();
     _AccomodationService         = new AccomodationService();
     _Accomodation  = new Accomodation();
     _Picture       = new Picture();
     _SharedService = new SharedService();
 }
コード例 #24
0
            public override ErrorList Validate()
            {
                var result = new ErrorList();

                result.AddRange(base.Validate());

                if (PreAdmissionIdentifier != null)
                {
                    result.AddRange(PreAdmissionIdentifier.Validate());
                }
                if (PreAdmissionTest != null)
                {
                    result.AddRange(PreAdmissionTest.Validate());
                }
                if (Origin != null)
                {
                    result.AddRange(Origin.Validate());
                }
                if (AdmitSource != null)
                {
                    result.AddRange(AdmitSource.Validate());
                }
                if (Period != null)
                {
                    result.AddRange(Period.Validate());
                }
                if (Accomodation != null)
                {
                    Accomodation.ForEach(elem => result.AddRange(elem.Validate()));
                }
                if (Diet != null)
                {
                    result.AddRange(Diet.Validate());
                }
                if (SpecialCourtesy != null)
                {
                    SpecialCourtesy.ForEach(elem => result.AddRange(elem.Validate()));
                }
                if (SpecialArrangement != null)
                {
                    SpecialArrangement.ForEach(elem => result.AddRange(elem.Validate()));
                }
                if (Destination != null)
                {
                    result.AddRange(Destination.Validate());
                }
                if (DischargeDisposition != null)
                {
                    result.AddRange(DischargeDisposition.Validate());
                }
                if (ReAdmission != null)
                {
                    result.AddRange(ReAdmission.Validate());
                }

                return(result);
            }
コード例 #25
0
        public void AddAccomodation(Accomodation accomodation)
        {
            if (accomodation == null)
            {
                throw new ArgumentNullException();
            }

            _serviceDbContext.Accomodations.Add(accomodation);
        }
コード例 #26
0
        public bool SaveAccomodations(Accomodation accomodation)
        {
            var context = new HMSContext();

            context.Accomodations.Add(accomodation);
            var result = context.SaveChanges() > 0;

            return(result);
        }
コード例 #27
0
        public void AddAccomodation(AccomodationDto accomodationDto)
        {
            Accomodation accomodation = new Accomodation(accomodationDto.AccomodationName, accomodationDto.Type, accomodationDto.Description, accomodationDto.OfferedCatering, accomodationDto.PrePayment, accomodationDto.CancellationFee, accomodationDto.AccomodationOwnerId);

            //accomodation.AccomodationOwner = _reservationSiteContext.AccomodationOwners.Find(accomodationDto.AccomodationOwnerId); //nem dob rá null exceptiont, de valamiért nullként adja hozzá ://
            //_reservationSiteContext.AccomodationOwners.Find(accomodationDto.AccomodationOwnerId).Accomodations.Add(accomodation); valamiért null exceptiont ad, még rá kell jönni, hogy miért és hogyan adható hozzá.
            _reservationSiteContext.Accomodations.Add(accomodation);
            _reservationSiteContext.SaveChanges();
        }
コード例 #28
0
 public static void SetAccomodationToUpdate(Accomodation accomodationFromDb, Accomodation updatedAccomodation)
 {
     accomodationFromDb.Id                   = updatedAccomodation.Id;
     accomodationFromDb.Description          = updatedAccomodation.Description;
     accomodationFromDb.Name                 = updatedAccomodation.Name;
     accomodationFromDb.MapPositionLatitude  = updatedAccomodation.MapPositionLatitude;
     accomodationFromDb.MapPositionLongitude = updatedAccomodation.MapPositionLongitude;
     accomodationFromDb.Type                 = updatedAccomodation.Type;
 }
コード例 #29
0
 public bool UpdateAccomodation(Accomodation model)
 {
     using (var context = new HMSContext()) {
         var existingAccomodation = context.Accomodations.Where(x => x.ID == model.ID).Include(y => y.AccomodationPictures).FirstOrDefault();
         context.AccomodationPictures.RemoveRange(existingAccomodation.AccomodationPictures);
         context.Entry(existingAccomodation).CurrentValues.SetValues(model);
         context.AccomodationPictures.AddRange(model.AccomodationPictures);
         return(context.SaveChanges() > 0);
     }
 }
コード例 #30
0
        public IHttpActionResult GetAccomodation(int id)
        {
            Accomodation accomodation = db.Accomodations.Find(id);

            if (accomodation == null)
            {
                return(NotFound());
            }

            return(Ok(accomodation));
        }