// CHECKin public IActionResult CHECKin(int _RoomID) { var _GroupLevelItem = _context.Class_GroupLevelItem.FirstOrDefault(s => s.Id == _RoomID); var _GroupLevel = _context.Class_GroupLevel.FirstOrDefault(s => s.Id == _GroupLevelItem.GroupLevelId); var _Checkin = new Class_Checkin() { GroupLevelItem_Id = _RoomID, GroupLevelItem_Name = string.Format("{0} - {1}", _GroupLevel.Name, _GroupLevelItem.Name), Season_Id = 0, Channel_Id = 0, Channel_Code = "", Channel_Percent = 0, Channel_Tax = 0, Book_DateIn = DateTime.Today.ToString("dd/MM/yyyy"), Book_DateOut = DateTime.Today.AddDays(5).ToString("dd/MM/yyyy"), Book_AdultsNum = _GroupLevelItem.OccupantsNum, Book_KidsNum = 0, Book_PCD = _GroupLevelItem.PCD, Book_PET = GroupLevelItem_YN.Nao, Guest_CPF = "", Guest_Name = "", Guest_Email = "", Guest_Phone1 = "", Guest_Phone2 = "", Guest_PostalCode = "", Guest_Address = "", Guest_Complement = "", Guest_City = "", Guest_State = "", Guest_Country = "Brasil" }; // int _CompanyId; try { _CompanyId = int.Parse(User.FindFirst("CompanyId").Value); } catch (Exception) { return(RedirectToAction(nameof(Error), new { _Message = "Login Necessário!" })); } // ViewBag.Season_LIST = from s in _context.Class_Season where s.StatusId == SeasonStatus.Ativo && s.CompanyId == _CompanyId orderby s.Name select new { s.Id, s.Name }; // ViewBag.Channel_LIST = from s in _context.Class_Channel where s.CompanyId == _CompanyId && s.StatusId == ChannelStatus.Ativo orderby s.TypeId, s.Name select new { s.Id, s.Name }; // ViewBag.yn_LIST = new SelectList(Enum.GetValues(typeof(GroupLevelItem_YN))); // return(View(_Checkin)); }
public ActionResult CHECKin(Class_Checkin _Checkin) { if (ModelState.IsValid) { // Guest var _Find = _context.Class_Guest.Where(m => m.CPF == _Checkin.Guest_CPF).FirstOrDefault(); if (_Find == null) { _Find = new Class_Guest() { CPF = _Checkin.Guest_CPF, Name = _Checkin.Guest_Name, Phone1 = _Checkin.Guest_Phone1, Phone2 = _Checkin.Guest_Phone2, Email = _Checkin.Guest_Email, PostalCode = _Checkin.Guest_PostalCode, Address = _Checkin.Guest_Address, Complement = _Checkin.Guest_Complement, City = _Checkin.Guest_City, State = _Checkin.Guest_State, Country = _Checkin.Guest_Country }; _context.Add(_Find); } else { _Find.CPF = _Checkin.Guest_CPF; _Find.Name = _Checkin.Guest_Name; _Find.Phone1 = _Checkin.Guest_Phone1; _Find.Phone2 = _Checkin.Guest_Phone2; _Find.Email = _Checkin.Guest_Email; _Find.PostalCode = _Checkin.Guest_PostalCode; _Find.Address = _Checkin.Guest_Address; _Find.Complement = _Checkin.Guest_Complement; _Find.City = _Checkin.Guest_City; _Find.State = _Checkin.Guest_State; _Find.Country = _Checkin.Guest_Country; _context.Update(_Find); } _context.SaveChanges(); // Book var _Book = _context.Class_Book.Where(m => m.GroupLevelItemId == _Checkin.GroupLevelItem_Id && m.StatusId == BookStatus.EmUso).FirstOrDefault(); if (_Book == null) { _Book = new Class_Book { Id = 0 }; } _Book.StatusId = BookStatus.EmUso; _Book.GroupLevelItemId = _Checkin.GroupLevelItem_Id; _Book.SeasonId = _Checkin.Season_Id; _Book.ChannelId = _Checkin.Channel_Id; _Book.Channel_Code = _Checkin.Channel_Code; _Book.Channel_Tax = _Checkin.Channel_Tax; _Book.Channel_Percent = _Checkin.Channel_Percent; _Book.Book_DateIn = DateTime.ParseExact(_Checkin.Book_DateIn, "dd/MM/yyyy", null); _Book.Book_DateOut = DateTime.ParseExact(_Checkin.Book_DateOut, "dd/MM/yyyy", null); _Book.Book_AdultsNum = _Checkin.Book_AdultsNum; _Book.Book_KidsNum = _Checkin.Book_KidsNum; _Book.Book_PCD = _Checkin.Book_PCD; _Book.Book_PET = _Checkin.Book_PET; _Book.GuestCPF = _Checkin.Guest_CPF; if (_Book.Id == 0) { _context.Add(_Book); } else { _context.Update(_Book); } _context.SaveChanges(); _Book = _context.Class_Book.Where(m => m.GroupLevelItemId == _Checkin.GroupLevelItem_Id && m.StatusId == BookStatus.EmUso).FirstOrDefault(); //Services var _VlTotal = _Checkin.Book_PayTax * _Checkin.Book_Days; var _VlDiscount = _VlTotal * ((double)_Checkin.Book_PayDiscount / 100); var _VlFinal = _VlTotal - _VlDiscount - _Checkin.Book_PayCash; var _BookItem = new Class_BookItem() { Id = 0, StatusId = BookItemStatus.Consumido, BookId = _Book.Id, DateConsume = _Book.Book_DateIn, GroupLevelItemId = _Book.GroupLevelItemId, SeasonDesciption = "Diárias de Hospedagem", SeasonUnit = _Checkin.Book_Days, SeasonValue = _Checkin.Book_PayTax, SeasonDiscountValue = _VlDiscount, SeasonDiscountPercent = _Checkin.Book_PayDiscount, SeasonAdvance = _Checkin.Book_PayCash, OBS = string.Format("Check-in ({0}-{1}) {2}d, {3}, {4}% desc.", _Book.Book_DateIn.ToString("dd/MM"), _Book.Book_DateOut.ToString("dd/MM"), _Checkin.Book_Days, _VlTotal.ToString("C2"), _Checkin.Book_PayDiscount) }; _context.Add(_BookItem); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } // int _CompanyId; try { _CompanyId = int.Parse(User.FindFirst("CompanyId").Value); } catch (Exception) { return(RedirectToAction(nameof(Error), new { _Message = "Login Necessário!" })); } // ViewBag.Season_LIST = from s in _context.Class_Season where s.StatusId == SeasonStatus.Ativo && s.CompanyId == _CompanyId orderby s.Name select new { s.Id, s.Name }; // ViewBag.Channel_LIST = from s in _context.Class_Channel where s.CompanyId == _CompanyId && s.StatusId == ChannelStatus.Ativo orderby s.TypeId, s.Name select new { s.Id, s.Name }; // ViewBag.yn_LIST = new SelectList(Enum.GetValues(typeof(GroupLevelItem_YN))); // return(View(_Checkin)); }