Exemple #1
0
 public IActionResult PriceCopy(int _SeasonId, int _SeasonCopyId, int _PercentAdd)
 {
     if (_SeasonId != 0 && _SeasonCopyId != 0)
     {
         var _SeasonItemCopy = from s in _context.Class_SeasonItem
                               where s.SeasonId == _SeasonCopyId
                               orderby s.GroupLevelItemId
                               select s;
         foreach (var _Item in _SeasonItemCopy)
         {
             var _Find = _context.Class_SeasonItem.FirstOrDefault(m => m.SeasonId == _SeasonId && m.GroupLevelItemId == _Item.GroupLevelItemId);
             if (_Find == null)
             {
                 _Find = new Class_SeasonItem()
                 {
                     Id               = 0,
                     SeasonId         = _SeasonId,
                     GroupLevelItemId = _Item.GroupLevelItemId
                 };
             }
             _Find.Tax = Math.Round(_Item.Tax * (1 + Convert.ToDouble(_PercentAdd) / 100), 1);
             //
             if (_Find.Id == 0)
             {
                 _context.Add(_Find);
             }
             else
             {
                 _context.Update(_Find);
             }
         }
         _context.SaveChanges();
     }
     return(RedirectToAction(nameof(PriceList), new { _SeasonId }));
 }
Exemple #2
0
        public IActionResult Login(Class_UserLogin _UserLogin)
        {
            _UserLogin.UserName = _UserLogin.UserName.ToUpper();

            var _UserFound = _context.Class_User.Where(m => m.UserName == _UserLogin.UserName).FirstOrDefault();

            if (_UserFound != null)
            {
                if (_UserFound.Password == "Inicial")
                {
                    if (_UserLogin.Password != _UserLogin.PassCheck)
                    {
                        ViewBag.Message = "(Passwords) inconsistente!";
                        return(View(_UserLogin));
                    }
                    _UserFound.Password = _UserLogin.Password;

                    _context.Update(_UserFound);
                    _context.SaveChanges();
                }
                else if (_UserFound.Password != _UserLogin.Password)
                {
                    ViewBag.Message = "(Password) invalida!";
                    return(View(_UserLogin));
                }

                var _Company = _context.Class_Company.FirstOrDefault(m => m.Id == _UserFound.CompanyId);

                var claims = new List <Claim>()
                {
                    new Claim(ClaimTypes.Name, _UserFound.UserName),
                    new Claim(ClaimTypes.Role, _UserFound.TypeAccessId.ToString()),
                    new Claim("CompanyName", _Company.Name),
                    new Claim("CompanyId", _UserFound.CompanyId.ToString())
                };

                var             identidadeDeUsuario = new ClaimsIdentity(claims, "Index");
                ClaimsPrincipal claimPrincipal      = new ClaimsPrincipal(identidadeDeUsuario);

                var propriedadesDeAutenticacao = new AuthenticationProperties
                {
                    AllowRefresh = true,
                    ExpiresUtc   = DateTime.Now.ToLocalTime().AddHours(1),
                    IsPersistent = true
                };

                HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, claimPrincipal, propriedadesDeAutenticacao);
            }
            else
            {
                ViewBag.Message = "(UserLogin) não encontrado!";
                return(View(_UserLogin));
            }

            return(RedirectToAction(nameof(Index)));
        }
        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));
        }