public IActionResult AddEditBookGroup(BookGroup model, int id, string redirectURL)
        {
            if (ModelState.IsValid)
            {
                if (id == 0)
                {
                    using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        db.BookGroups.Add(model);
                        db.SaveChanges();
                    }

//                    return RedirectToAction("Index");
                    return(PartialView("_successfulResponse", redirectURL));
                }
                else
                {
                    using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>())
                    {
                        var m = db.BookGroups.Find(id);
                        m.BookGroupName        = model.BookGroupName;
                        m.BookGroupDescription = model.BookGroupDescription;
                        db.BookGroups.Update(m);
                        db.SaveChanges();
                    }

//                    return RedirectToAction("Index");
                    return(PartialView("_successfulResponse", redirectURL));
                }
            }
            else
            {
                return(PartialView("_AddEditBookGroup", model));
            }
        }
Example #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            BookGroup bookGroup = db.BookGroups.Find(id);

            db.BookGroups.Remove(bookGroup);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Example #3
0
        public void CalculateGroupPrice_OneBook()
        {
            var bookGroup = new BookGroup(new DiscountCalculator());

            bookGroup.AddBookToGroup(new Book(BookTitles.GobletOfFire));

            bookGroup.CalculateGroupPrice().Should().Be(8m);
        }
Example #4
0
        public void CalculateGroupPrice_TwoBook()
        {
            var bookGroup = new BookGroup(new DiscountCalculator());

            bookGroup.AddBookToGroup(new Book(BookTitles.GobletOfFire));
            bookGroup.AddBookToGroup(new Book(BookTitles.ChamberOfSecrets));

            bookGroup.CalculateGroupPrice().Should().Be(15.2m);
        }
Example #5
0
        public void CalculateGroupPrice_ThreeBook()
        {
            var bookGroup = new BookGroup(new DiscountCalculator());

            bookGroup.AddBookToGroup(new Book(BookTitles.GobletOfFire));
            bookGroup.AddBookToGroup(new Book(BookTitles.ChamberOfSecrets));
            bookGroup.AddBookToGroup(new Book(BookTitles.DeathlyHallows));

            bookGroup.CalculateGroupPrice().Should().Be(21.6m);
        }
Example #6
0
 public ActionResult Edit([Bind(Include = "BookGroupID,MainBookName,Class")] BookGroup bookGroup)
 {
     if (ModelState.IsValid)
     {
         db.Entry(bookGroup).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(bookGroup));
 }
Example #7
0
        public void CreateBookGroup(CreateBookGroupRequest request, Book book)
        {
            Persistence.BeginTransaction();

            var bookGroup = new BookGroup(request);

            bookGroup.AddBook(book);

            Persistence.Create(bookGroup);
            Persistence.Commit();
        }
Example #8
0
        public IActionResult DeleteBookgroup(int id)
        {
            var tblBookGroup = new BookGroup();

            tblBookGroup = _ibgs.findById(id);//db.bookGroups.Where(bg => bg.BookGroupId == id).SingleOrDefault();
            if (tblBookGroup == null)
            {
                return(RedirectToAction("Index"));
            }
            return(PartialView("_deletegroup", tblBookGroup.GropuName));
        }
Example #9
0
        public ActionResult Create([Bind(Include = "BookGroupID,MainBookName,Class")] BookGroup bookGroup)
        {
            if (ModelState.IsValid)
            {
                db.BookGroups.Add(bookGroup);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(bookGroup));
        }
Example #10
0
        public void CanOnlyAdd5BooksToGroup()
        {
            var bookGroup = new BookGroup(new DiscountCalculator());

            bookGroup.AddBookToGroup(new Book(BookTitles.GobletOfFire));
            bookGroup.AddBookToGroup(new Book(BookTitles.ChamberOfSecrets));
            bookGroup.AddBookToGroup(new Book(BookTitles.HalfBloodPrince));
            bookGroup.AddBookToGroup(new Book(BookTitles.PhilosophersStone));
            bookGroup.AddBookToGroup(new Book(BookTitles.PrisonerOfAzkaban));

            bookGroup.AddBookToGroup(new Book(BookTitles.DeathlyHallows)).Should().BeFalse();
        }
Example #11
0
        public void CalculateGroupPrice_FiveBook()
        {
            var bookGroup = new BookGroup(new DiscountCalculator());

            bookGroup.AddBookToGroup(new Book(BookTitles.GobletOfFire));
            bookGroup.AddBookToGroup(new Book(BookTitles.ChamberOfSecrets));
            bookGroup.AddBookToGroup(new Book(BookTitles.DeathlyHallows));
            bookGroup.AddBookToGroup(new Book(BookTitles.HalfBloodPrince));
            bookGroup.AddBookToGroup(new Book(BookTitles.OrderOfThePheonix));

            bookGroup.CalculateGroupPrice().Should().Be(30m);
        }
Example #12
0
        public bool UpdateBookGroup(BookGroup bookGroup)
        {
            var images       = _unitOfWork.ImageRepository.GetImageByBookGroupId(bookGroup.Id);
            var bookGroupDto = _unitOfWork.BookGroupRepository.GetById(bookGroup.Id);
            var imageId      = new List <int>();

            if (bookGroup.Image.Count == 0)
            {
                foreach (var image in images)
                {
                    image.IsDeleted = true;
                    _unitOfWork.ImageRepository.Update(image);
                    _unitOfWork.SaveChangesAsync();
                }
            }
            else
            {
                foreach (var image in bookGroup.Image)
                {
                    if (image.Id == 0)
                    {
                        image.IsDeleted   = false;
                        image.BookGroupId = bookGroup.Id;
                        _unitOfWork.ImageRepository.Add(image);
                        _unitOfWork.SaveChanges();
                    }
                    else
                    {
                        imageId.Add(image.Id);
                    }
                }
                var entities = images.Where(f => !imageId.Contains(f.Id)).ToList();
                entities.ForEach(a => a.IsDeleted = true);
            }
            bookGroupDto.Name              = bookGroup.Name;
            bookGroupDto.Fee               = bookGroup.Fee;
            bookGroupDto.PunishFee         = bookGroup.PunishFee;
            bookGroupDto.Quantity          = bookGroup.Quantity;
            bookGroupDto.Author            = bookGroup.Author;
            bookGroupDto.PublishingPlace   = bookGroup.PublishingPlace;
            bookGroupDto.PublishingCompany = bookGroup.PublishingCompany;
            bookGroupDto.PublishDate       = bookGroup.PublishDate;
            bookGroupDto.Description       = bookGroup.Description;
            bookGroupDto.PageNumber        = bookGroup.PageNumber;
            bookGroupDto.Height            = bookGroup.Height;
            bookGroupDto.Width             = bookGroup.Width;
            bookGroupDto.Thick             = bookGroup.Thick;
            bookGroupDto.PublishNumber     = bookGroup.PublishNumber;
            bookGroupDto.IsDeleted         = false;
            _unitOfWork.BookGroupRepository.Update(bookGroupDto);
            _unitOfWork.SaveChanges();
            return(true);
        }
Example #13
0
        public IBrowser CreateGroupBrowser(BookGroup bookGroup)
        {
            var childGroups = _bibleMetadataService.GetChildGroups(bookGroup.Name);

            if (childGroups.Any())
            {
                return(new GroupBrowser(bookGroup, childGroups.Select(x => x.Name)));
            }
            else
            {
                var books = _bibleMetadataService.GetBooks(bookGroup.Name);
                return(new GroupBrowser(bookGroup, books.Select(x => x.Name)));
            }
        }
Example #14
0
        // GET: BookGroups/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BookGroup bookGroup = db.BookGroups.Find(id);

            if (bookGroup == null)
            {
                return(HttpNotFound());
            }
            return(View(bookGroup));
        }
        public IActionResult DeleteBookGroup(int id)
        {
            var tblBookGroup = new BookGroup();

            using (var db = _serviceProvider.GetRequiredService <ApplicationDbContext>())
            {
                tblBookGroup = db.BookGroups.SingleOrDefault(bg => bg.BookGroupID == id);
                if (tblBookGroup == null)
                {
                    return(RedirectToAction("Index"));
                }
            }

            return(PartialView("_deleteGroup", tblBookGroup.BookGroupName));
        }
Example #16
0
        public IActionResult AddEditBookGroup(int id)
        {
            var bookgroup = new BookGroup();

            if (id != 0)
            {
                // Edit
                bookgroup = _ibgs.findById(id);
                if (bookgroup == null)
                {
                    // Do nothing
                    return(RedirectToAction("Index"));
                }
            }
            return(PartialView("_AddEditbookgroup", bookgroup));
        }
Example #17
0
        public IActionResult DeleteBookGroup(int id)
        {
            BookGroup bookGroup = new BookGroup();

            using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>())
            {
                //bookGroup = db.BookGroups.SingleOrDefault(bg => bg.BookGroupId == id);                  روش  ۱
                bookGroup = db.BookGroups.Where(bg => bg.BookGroupId == id).SingleOrDefault();          //  روش 2
                if (bookGroup == null)
                {
                    return(RedirectToAction("Index"));
                }
                //نام گروه را که از نوع رشته است برای پپارشال ویو ارسال میکنیم
                return(PartialView("_DeleteBookGroupPartial", bookGroup.BookGroupName));
            }
        }
        private char GetCollectionId(BookGroup group)
        {
            if (group.Parent == BookGroup.EntireBible)
            {
                if (group == BookGroup.OldTestament)
                {
                    return('O');
                }
                if (group == BookGroup.NewTestament)
                {
                    return('N');
                }
                throw new Exception(string.Concat("Unexpected book group: ", group.Name));
            }

            return(GetCollectionId(group.Parent));
        }
Example #19
0
        public IActionResult AddEditBookGroup(int id)
        {
            BookGroup bookgroup = new BookGroup();

            if (id != 0)
            {
                using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>())
                {
                    bookgroup = _context.BookGroups.Where(b => b.BookGroupId == id).SingleOrDefault();
                    if (bookgroup == null)
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(PartialView("_AddEditBookGroupPartial", bookgroup));
        }
Example #20
0
 public IActionResult AddEditBookGroup(BookGroup model, int id, string redirectUrl)
 {
     //برای چک کرن ولیدیشن هایی که در کلاس
     // دادیم که همان اتریبیوت هاهستند bookgroup
     if (ModelState.IsValid)
     {
         //inserting(adding) mode
         if (id == 0)
         {
             //چون داریم روی دیتابیس اطلاعات ثبت میکنیم یا اپدیت اطلاعات میکیم از
             //استفاده میکنیم. usin()
             using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>())
             {
                 db.BookGroups.Add(model);
                 db.SaveChanges();
             }
             //return RedirectToAction("Index");
             return(PartialView("_SuccessfullyResponsePartial", redirectUrl));
         }
         //updating mode
         else
         {
             //چون داریم روی دیتابیس اطلاعات ثبت میکنیم یا اپدیت اطلاعات میکیم از
             //استفاده میکنیم. usin()
             using (var db = _iServiceProvider.GetRequiredService <ApplicationDbContext>())
             {
                 db.BookGroups.Update(model);
                 db.SaveChanges();
             }
             //  return RedirectToAction("Index");
             return(PartialView("_SuccessfullyResponsePartial", redirectUrl));
         }
     }
     else
     {
         //(model)اگر ولیدشن ها رعایت نشده بود مقادیر وارد شده
         //و خطاهارا نمایش میدهددرهمان پارشال ویو
         return(PartialView("_AddEditBookGroupPartial", model));
     }
 }
Example #21
0
 public IActionResult AddEditBookGroup(BookGroup model, int id, string redirectUrl)
 {
     if (ModelState.IsValid)
     {
         if (id == 0)
         {
             // insert
             _ibgs.create(model);
             _ibgs.save();
             return(PartialView("_succesfullyresponse", redirectUrl));
         }
         else
         {
             _ibgs.update(model);
             _ibgs.save();
             return(PartialView("_succesfullyresponse", redirectUrl));
         }
     }
     else
     {
         return(PartialView("_AddEditbookgroup", model));
     }
 }
Example #22
0
        public void InsertBookGroup(BookGroup bookGroup)
        {
            _unitOfWork.BookGroupRepository.Add(bookGroup);
            _unitOfWork.SaveChanges();
            foreach (var bookCategory in bookGroup.BookCategory)
            {
                bookCategory.IsDeleted = false;
            }

            foreach (var image in bookGroup.Image)
            {
                image.IsDeleted = false;
            }
            for (int i = 0; i < bookGroup.Quantity; i++)
            {
                var bookModel = new Book()
                {
                    BookGroupId = bookGroup.Id,
                    BarCode     = null
                };
                _unitOfWork.BookRepository.Add(bookModel);
            }
            _unitOfWork.SaveChanges();
        }
Example #23
0
 public GroupBrowser(BookGroup bookGroup, IEnumerable <string> optionsInGroup)
     : base(bookGroup.GetTopmostAncestor().Name)
 {
     _bookGroup = bookGroup;
     _options   = optionsInGroup.ToList();
 }
Example #24
0
 public static BookGroup GetTopmostAncestor(this BookGroup group)
 {
     return(group.Parent == null ? group : group.Parent.GetTopmostAncestor());
 }
Example #25
0
 public void delete(BookGroup bookgroup)
 {
     _db.bookGroups.Remove(bookgroup);
 }
Example #26
0
 public void update(BookGroup bookgroup)
 {
     _db.bookGroups.Update(bookgroup);
 }
Example #27
0
 public void create(BookGroup bookgroup)
 {
     _db.bookGroups.Add(bookgroup);
 }
        //SERVICE
        public IActionResult SERVICES(int _BookID, int _ExtractID)
        {
            int _CompanyId;

            try { _CompanyId = int.Parse(User.FindFirst("CompanyId").Value); }
            catch (Exception) { return(RedirectToAction(nameof(Error), new { _Message = "Login Necessário!" })); }
            // Find Reserve
            var _Reserve = _context.Class_Book.FirstOrDefault(m => m.Id == _BookID);
            // Find HOSPEDE
            var _Guest = _context.Class_Guest.FirstOrDefault(m => m.CPF == _Reserve.GuestCPF);
            // Find TEMPORADA
            var _Season = _context.Class_Season.FirstOrDefault(m => m.Id == _Reserve.SeasonId);
            // Find HOSPEDAGEM
            var _GroupLevelItem = _context.Class_GroupLevelItem.FirstOrDefault(m => m.Id == _Reserve.GroupLevelItemId);
            var _GroupLevel     = _context.Class_GroupLevel.FirstOrDefault(m => m.Id == _GroupLevelItem.GroupLevelId);

            var _Services = new Class_Services()
            {
                Reserve_ID        = _Reserve.Id,
                Reserve_BookName  = string.Format("{0} - {1}", _GroupLevel.Name, _GroupLevelItem.Name),
                Reserve_Date      = string.Format("Entrada: {0}, Saída: {1}", _Reserve.Book_DateIn.ToString("dd/MM"), _Reserve.Book_DateOut.ToString("dd/MM")),
                Reserve_GuestName = string.Format("{0} ({1}) {2}", _Guest.Name, _Guest.City, _Guest.Phone1),
                Reserve_Occupants = string.Format("Adulto(s) {0}, Criança(s) {1}, PCD? {2}, PET? {3}", _Reserve.Book_AdultsNum, _Reserve.Book_KidsNum, _Reserve.Book_PCD, _Reserve.Book_PET),

                Season_Id   = _Season.Id,
                Season_NAME = _Season.Name,
            };

            // Find ExtractItem
            if (_ExtractID != 0)
            {
                var _Item = _context.Class_BookItem.FirstOrDefault(m => m.Id == _ExtractID);
                var _ConsumoGroupLevelItem = _context.Class_GroupLevelItem.FirstOrDefault(m => m.Id == _Item.GroupLevelItemId);
                var _ConsumoGroupLevel     = _context.Class_GroupLevel.FirstOrDefault(m => m.Id == _ConsumoGroupLevelItem.GroupLevelId);

                var _Total = _Item.SeasonUnit * _Item.SeasonValue;
                var _Final = _Total;
                if (_Item.SeasonDiscountPercent != 0)
                {
                    _Final -= _Item.SeasonDiscountValue;
                }

                var _ViewBagGL = from s in _context.Class_GroupLevel
                                 where s.Id == _ConsumoGroupLevel.Id
                                 select new { s.Id, s.Name };
                var _ViewBagGLI = _context.Class_GroupLevelItem.FirstOrDefault(m => m.Id == _ConsumoGroupLevelItem.Id);

                if (_ConsumoGroupLevel.GroupId == GroupType.CONSUMO)
                {
                    //CONSUMO
                    _Services.Consumo_ExtractID        = _Item.Id;
                    _Services.Consumo_StatusId         = _Item.StatusId;
                    _Services.Consumo_Date             = _Item.DateConsume.ToString("dd/MM/yyyy");
                    _Services.Consumo_GroupLevelID     = _ConsumoGroupLevel.Id;
                    _Services.Consumo_GroupLevelItemID = _ConsumoGroupLevelItem.Id;
                    _Services.Consumo_NAME             = _Item.SeasonDesciption;
                    _Services.Consumo_QtUnit           = _Item.SeasonUnit;
                    _Services.Consumo_VlUnit_VIEW      = _Item.SeasonValue.ToString("C2");
                    _Services.Consumo_VlUnit           = _Item.SeasonValue;
                    _Services.Consumo_VlTotal_VIEW     = _Total.ToString("C2");
                    _Services.Consumo_VlTotal          = _Total;
                    _Services.Consumo_PercDiscount     = _Item.SeasonDiscountPercent;
                    _Services.Consumo_VlDiscount_VIEW  = _Item.SeasonDiscountValue.ToString("C2");
                    _Services.Consumo_VlDiscount       = _Item.SeasonDiscountValue;
                    _Services.Consumo_VlFinal_VIEW     = _Final.ToString("C2");
                    _Services.Consumo_OBS = _Item.OBS;
                }
                else
                {
                    //ENTRETENIMENTO
                    _Services.Entretenimento_ExtractID        = _Item.Id;
                    _Services.Entretenimento_StatusId         = _Item.StatusId;
                    _Services.Entretenimento_Date             = _Item.DateConsume.ToString("dd/MM/yyyy");
                    _Services.Entretenimento_Time             = _Item.DateConsume.ToString("hh:mm");
                    _Services.Entretenimento_GroupLevelID     = _ConsumoGroupLevel.Id;
                    _Services.Entretenimento_GroupLevelItemID = _ConsumoGroupLevelItem.Id;
                    _Services.Entretenimento_NAME             = _Item.SeasonDesciption;
                    _Services.Entretenimento_QtUnit           = _Item.SeasonUnit;
                    _Services.Entretenimento_VlUnit_VIEW      = _Item.SeasonValue.ToString("C2");
                    _Services.Entretenimento_VlUnit           = _Item.SeasonValue;
                    _Services.Entretenimento_VlTotal_VIEW     = _Total.ToString("C2");
                    _Services.Entretenimento_VlTotal          = _Total;
                    _Services.Entretenimento_PercDiscount     = _Item.SeasonDiscountPercent;
                    _Services.Entretenimento_VlDiscount_VIEW  = _Item.SeasonDiscountValue.ToString("C2");
                    _Services.Entretenimento_VlDiscount       = _Item.SeasonDiscountValue;
                    _Services.Entretenimento_VlFinal_VIEW     = _Final.ToString("C2");
                    _Services.Entretenimento_OBS = _Item.OBS;
                }

                ViewBag.Consumo_GroupLevel_LIST     = new SelectList(_ViewBagGL, "Id", "Name");
                ViewBag.Consumo_GroupLevelItem_LIST = new List <Class_Service_LIST> {
                    new Class_Service_LIST {
                        ID = _ViewBagGLI.Id, Name = _ViewBagGLI.Name
                    }
                };

                ViewBag.Entretenimento_GroupLevel_LIST     = new SelectList(_ViewBagGL, "Id", "Name");
                ViewBag.Entretenimento_GroupLevelItem_LIST = new List <Class_Service_LIST> {
                    new Class_Service_LIST {
                        ID = _ViewBagGLI.Id, Name = _ViewBagGLI.Name
                    }
                };
            }
            else
            {
                _Services.TabDefault = 0;

                //CONSUMO
                _Services.Consumo_ExtractID        = 0;
                _Services.Consumo_StatusId         = BookItemStatus.Consumido;
                _Services.Consumo_Date             = DateTime.Today.ToString("dd/MM/yyyy");
                _Services.Consumo_GroupLevelID     = 0;
                _Services.Consumo_GroupLevelItemID = 0;
                _Services.Consumo_NAME             = "";
                _Services.Consumo_QtUnit           = 1;
                _Services.Consumo_VlUnit_VIEW      = "R$ 0";
                _Services.Consumo_VlUnit           = 0;
                _Services.Consumo_VlTotal_VIEW     = "R$ 0";
                _Services.Consumo_VlTotal          = 0;
                _Services.Consumo_PercDiscount     = 0;
                _Services.Consumo_VlDiscount_VIEW  = "R$ 0";
                _Services.Consumo_VlDiscount       = 0;
                _Services.Consumo_VlFinal_VIEW     = "R$ 0";
                _Services.Consumo_OBS = "";

                var _Item = from s in _context.Class_GroupLevel
                            where s.CompanyId == _CompanyId && s.StatusId == GroupLevelStatus.Ativo && s.GroupId == GroupType.CONSUMO
                            orderby s.Name
                            select new { s.Id, s.Name };
                ViewBag.Consumo_GroupLevel_LIST     = new SelectList(_Item, "Id", "Name");
                ViewBag.Consumo_GroupLevelItem_LIST = new List <Class_Service_LIST> {
                    new Class_Service_LIST {
                        ID = 0, Name = "Selecione GRUPO..."
                    }
                };

                //ENTRETENIMENTO
                _Services.Entretenimento_ExtractID        = 0;
                _Services.Entretenimento_StatusId         = BookItemStatus.Reservado;
                _Services.Entretenimento_Date             = DateTime.Today.AddDays(1).ToString("dd/MM/yyyy");
                _Services.Entretenimento_Time             = "00:00";
                _Services.Entretenimento_GroupLevelID     = 0;
                _Services.Entretenimento_GroupLevelItemID = 0;
                _Services.Entretenimento_NAME             = "";
                _Services.Entretenimento_QtUnit           = 1;
                _Services.Entretenimento_VlUnit_VIEW      = "R$ 0";
                _Services.Entretenimento_VlUnit           = 0;
                _Services.Entretenimento_VlTotal_VIEW     = "R$ 0";
                _Services.Entretenimento_VlTotal          = 0;
                _Services.Entretenimento_PercDiscount     = 0;
                _Services.Entretenimento_VlDiscount_VIEW  = "R$ 0";
                _Services.Entretenimento_VlDiscount       = 0;
                _Services.Entretenimento_VlFinal_VIEW     = "R$ 0";
                _Services.Entretenimento_OBS = "";

                _Item = from s in _context.Class_GroupLevel
                        where s.CompanyId == _CompanyId && s.StatusId == GroupLevelStatus.Ativo && s.GroupId == GroupType.ENTRETENIMENTO
                        orderby s.Name
                        select new { s.Id, s.Name };
                ViewBag.Entretenimento_GroupLevel_LIST     = new SelectList(_Item, "Id", "Name");
                ViewBag.Entretenimento_GroupLevelItem_LIST = new List <Class_Service_LIST> {
                    new Class_Service_LIST {
                        ID = 0, Name = "Selecione GRUPO..."
                    }
                };

                //AJUSTE PERIODO
                var _ReserveItem = _context.Class_BookItem.FirstOrDefault(m => m.BookId == _BookID && m.GroupLevelItemId == _Reserve.GroupLevelItemId);
                var _VlTotal     = _ReserveItem.SeasonUnit * _ReserveItem.SeasonValue;
                var _VlFinal     = _VlTotal - _ReserveItem.SeasonDiscountValue - _ReserveItem.SeasonAdvance;
                if (_ReserveItem != null)
                {
                    _Services.Ajuste_ExtractID           = _ReserveItem.Id;
                    _Services.Ajuste_SeasonDays          = _ReserveItem.SeasonUnit;
                    _Services.Ajuste_SeasonValue         = _ReserveItem.SeasonValue;
                    _Services.Ajuste_SeasonAdvance       = _ReserveItem.SeasonAdvance;
                    _Services.Ajuste_SeasonDiscountVALUE = _ReserveItem.SeasonDiscountValue;

                    _Services.Ajuste_DateIn       = _Reserve.Book_DateIn.ToString("dd/MM/yyyy");
                    _Services.Ajuste_DateOut      = _Reserve.Book_DateOut.ToString("dd/MM/yyyy");
                    _Services.Ajuste_Days_VIEW    = _ReserveItem.SeasonUnit.ToString();
                    _Services.Ajuste_VlTotal_VIEW = _VlTotal.ToString("C2");

                    _Services.Ajuste_PercDiscount    = _ReserveItem.SeasonDiscountPercent;
                    _Services.Ajuste_VlDiscount_VIEW = _ReserveItem.SeasonDiscountValue.ToString("C2");
                    _Services.Ajuste_VlAdvance_VIEW  = _ReserveItem.SeasonAdvance.ToString("C2");
                    _Services.Ajuste_VlFinal_VIEW    = _VlFinal.ToString("C2");
                    _Services.Ajuste_OBS_History     = _ReserveItem.OBS;
                    _Services.Ajuste_OBS             = "";
                }

                //CHECK-out - hospedagem
                var _Detail = new Class_Service_Detail()
                {
                    DESC  = "Vl.Total",
                    VALUE = _VlTotal.ToString("C2")
                };
                _Services.CheckOut_Hospedagem_LIST.Add(_Detail);
                if (_ReserveItem.SeasonDiscountValue != 0)
                {
                    _Detail = new Class_Service_Detail()
                    {
                        DESC  = string.Format("({0} %) desc.", _ReserveItem.SeasonDiscountPercent),
                        VALUE = _ReserveItem.SeasonDiscountValue.ToString("C2")
                    };
                    _Services.CheckOut_Hospedagem_LIST.Add(_Detail);
                }
                if (_ReserveItem.SeasonAdvance != 0)
                {
                    _Detail = new Class_Service_Detail()
                    {
                        DESC  = "Adiant.",
                        VALUE = _ReserveItem.SeasonAdvance.ToString("C2")
                    };
                    _Services.CheckOut_Hospedagem_LIST.Add(_Detail);
                }
                if (_VlTotal != _VlFinal)
                {
                    _Detail = new Class_Service_Detail()
                    {
                        DESC  = "Vl.Final",
                        VALUE = _VlFinal.ToString("C2")
                    };
                    _Services.CheckOut_Hospedagem_LIST.Add(_Detail);
                }
                //CHECK-out - consumo
                var _Consumo = from s in _context.Class_BookItem
                               join s2 in _context.Class_GroupLevelItem on s.GroupLevelItemId equals s2.Id
                               join s3 in _context.Class_GroupLevel on s2.GroupLevelId equals s3.Id
                               where s.BookId == _BookID && s3.GroupId == GroupType.CONSUMO
                               group s by s.BookId into BookGroup
                               select new { SomaTotal = BookGroup.Sum(f => f.SeasonValue * f.SeasonUnit), SomaDesc = BookGroup.Sum(f => f.SeasonDiscountValue) };
                foreach (var _loop in _Consumo)
                {
                    _Detail = new Class_Service_Detail()
                    {
                        DESC  = "Vl.Total",
                        VALUE = _loop.SomaTotal.ToString("C2")
                    };
                    _Services.CheckOut_Consumo_LIST.Add(_Detail);
                    //
                    if (_loop.SomaDesc != 0)
                    {
                        var _PercDesc = Math.Round(_loop.SomaDesc / _loop.SomaTotal * 100, 1);
                        _Detail = new Class_Service_Detail()
                        {
                            DESC  = string.Format("({0} %) desc.", _PercDesc),
                            VALUE = _loop.SomaDesc.ToString("C2")
                        };
                        _Services.CheckOut_Consumo_LIST.Add(_Detail);
                        //
                        var _vlTotal = _loop.SomaTotal - _loop.SomaDesc;
                        _Detail = new Class_Service_Detail()
                        {
                            DESC  = "Vl.Final",
                            VALUE = _loop.SomaDesc.ToString("C2")
                        };
                        _Services.CheckOut_Consumo_LIST.Add(_Detail);
                    }
                }
                //CHECK-out - entretenimento
                var _Entretenimento = from s in _context.Class_BookItem
                                      join s2 in _context.Class_GroupLevelItem on s.GroupLevelItemId equals s2.Id
                                      join s3 in _context.Class_GroupLevel on s2.GroupLevelId equals s3.Id
                                      where s.BookId == _BookID && s3.GroupId == GroupType.ENTRETENIMENTO
                                      group s by s.BookId into BookGroup
                                      select new { SomaTotal = BookGroup.Sum(f => f.SeasonValue * f.SeasonUnit), SomaDesc = BookGroup.Sum(f => f.SeasonDiscountValue) };
                foreach (var _loop in _Consumo)
                {
                    _Detail = new Class_Service_Detail()
                    {
                        DESC  = "Vl.Total",
                        VALUE = _loop.SomaTotal.ToString("C2")
                    };
                    _Services.CheckOut_Entretenimento_LIST.Add(_Detail);
                    //
                    if (_loop.SomaDesc != 0)
                    {
                        var _PercDesc = Math.Round(_loop.SomaDesc / _loop.SomaTotal * 100, 1);
                        _Detail = new Class_Service_Detail()
                        {
                            DESC  = string.Format("({0} %) desc.", _PercDesc),
                            VALUE = _loop.SomaDesc.ToString("C2")
                        };
                        _Services.CheckOut_Entretenimento_LIST.Add(_Detail);
                        //
                        var _vlTotal = _loop.SomaTotal - _loop.SomaDesc;
                        _Detail = new Class_Service_Detail()
                        {
                            DESC  = "Vl.Final",
                            VALUE = _loop.SomaDesc.ToString("C2")
                        };
                        _Services.CheckOut_Entretenimento_LIST.Add(_Detail);
                    }
                }
                var _PayTotal = from s in _context.Class_BookItem
                                where s.BookId == _BookID
                                group s by s.BookId into BookGroup
                                select new { SomaTotal = BookGroup.Sum(f => f.SeasonValue * f.SeasonUnit), SomaDesc = BookGroup.Sum(f => f.SeasonDiscountValue), SomaAdiant = BookGroup.Sum(f => f.SeasonAdvance) };
                foreach (var _loop in _PayTotal)
                {
                    var _final = _loop.SomaTotal - _loop.SomaDesc - _loop.SomaAdiant;
                    _Services.CheckOut_APagar_VIEW = _final.ToString("C2");
                    _Services.CheckOut_APagar      = _final;
                }
            }
            ViewBag.CheckOut_PayForm_LIST = new SelectList(Enum.GetValues(typeof(Services_Checkout_PayForm)).Cast <Services_Checkout_PayForm>().ToList());
            _Services.CheckOut_PayForm    = "";
            _Services.CheckOut_OBS        = "";
            //EXTRATO
            var _Extrato = from s in _context.Class_BookItem
                           where s.BookId == _BookID
                           orderby s.DateConsume, s.GroupLevelItemId
            select s;
            var _VlPagar     = 0.0;
            var _Date        = "";
            var _ItemExtrato = new Class_ServiceExtract();

            foreach (var _Item in _Extrato)
            {
                if (_Date != _Item.DateConsume.ToString("dd/MM"))
                {
                    _ItemExtrato = new Class_ServiceExtract()
                    {
                        ExtractTEXT  = "",
                        ExtractVALUE = ""
                    };
                    _Services.ExtractLIST.Add(_ItemExtrato);
                    //
                    _ItemExtrato = new Class_ServiceExtract()
                    {
                        ExtractTEXT  = string.Format("==( {0} )==", _Item.DateConsume.ToString("dd/MM")),
                        ExtractVALUE = ""
                    };
                    _Services.ExtractLIST.Add(_ItemExtrato);
                    //
                    _Date = _Item.DateConsume.ToString("dd/MM");
                }
                //
                var _Total = _Item.SeasonValue * _Item.SeasonUnit;
                _ItemExtrato = new Class_ServiceExtract()
                {
                    ExtractTEXT  = _Item.SeasonDesciption,
                    ExtractVALUE = _Total.ToString("C2")
                };
                if (_Item.StatusId == BookItemStatus.Reservado)
                {
                    _ItemExtrato.ExtractTEXT = "(RESERVADO) " + _ItemExtrato.ExtractTEXT;
                }
                _Services.ExtractLIST.Add(_ItemExtrato);
                _VlPagar += _Total;
                //
                var _Discount = _Item.SeasonDiscountValue;
                if (_Discount != 0)
                {
                    _ItemExtrato = new Class_ServiceExtract()
                    {
                        ExtractTEXT  = string.Format("( {0} % ) desc.", _Item.SeasonDiscountPercent),
                        ExtractVALUE = _Discount.ToString("C2")
                    };
                    _Services.ExtractLIST.Add(_ItemExtrato);
                    _VlPagar -= _Discount;
                }
                var _Advance = _Item.SeasonAdvance;
                if (_Advance != 0)
                {
                    _ItemExtrato = new Class_ServiceExtract()
                    {
                        ExtractTEXT  = "Adiant.",
                        ExtractVALUE = _Advance.ToString("C2")
                    };
                    _Services.ExtractLIST.Add(_ItemExtrato);
                    _VlPagar -= _Advance;
                }
            }
            //
            _ItemExtrato = new Class_ServiceExtract()
            {
                ExtractTEXT  = "",
                ExtractVALUE = ""
            };
            _Services.ExtractLIST.Add(_ItemExtrato);
            //
            _ItemExtrato = new Class_ServiceExtract()
            {
                ExtractTEXT  = "",
                ExtractVALUE = "=========="
            };
            _Services.ExtractLIST.Add(_ItemExtrato);
            //
            _ItemExtrato = new Class_ServiceExtract()
            {
                ExtractTEXT  = "Valor A PAGAR ->",
                ExtractVALUE = _VlPagar.ToString("C2")
            };
            _Services.ExtractLIST.Add(_ItemExtrato);
            //
            return(View(_Services));
        }
Example #29
0
        public async Task <BookDTO> AddAsync(IEntityDTO ientityDTO)
        {
            BookViewModel bookViewModel = (BookViewModel)ientityDTO;
            Book          book          = Mapper.Map <BookViewModel, Book>(bookViewModel);
            BookGroup     bookGroup     = await UnitOfWork.BookGroups.GetAsync(bg => bg.Id == book.BookGroup.Id);

            if (bookGroup != null)
            {
                book.BookGroupId = bookGroup.Id;
                book.BookGroup   = null;
            }
            else
            {
                throw new BadRequestException(UnitOfWorkExceptionMessage.BookGroupsException.NotFoundById(book.BookGroup.Id));
            }
            Language language = await UnitOfWork.Languages.GetAsync(l => l.Name == book.Language.Name);

            if (language != null)
            {
                book.LanguageId = language.Id;
                book.Language   = null;
            }
            else
            {
                throw new BadRequestException(UnitOfWorkExceptionMessage.LanguagesException.NotFoundByName(book.Language.Name));
            }
            PublishingHouse publishingHouse = await UnitOfWork.PublishingHouses.GetAsync(p => p.Name == book.PublishingHouse.Name);

            if (publishingHouse != null)
            {
                book.PublishingHouseId = publishingHouse.Id;
                book.PublishingHouse   = null;
            }
            else
            {
                throw new BadRequestException(UnitOfWorkExceptionMessage.PublishingHousesException.NotFoundByName(book.PublishingHouse.Name));
            }
            Series series = await UnitOfWork.Series.GetAsync(s => s.Name == book.Series.Name);

            if (series != null)
            {
                book.SeriesId = series.Id;
                book.Series   = null;
            }
            else
            {
                throw new BadRequestException(UnitOfWorkExceptionMessage.SeriesException.NotFoundByName(book.Series.Name));
            }
            UnitOfWork.Books.AddAsync(book);
            await UnitOfWork.SaveChangesAsync();

            book = await UnitOfWork.Books.GetLastItemAsync();

            if (book != null)
            {
                if (bookViewModel.Authors.Count != 0)
                {
                    ICollection <BookAuthor> bookAuthors = new List <BookAuthor>();
                    foreach (AuthorViewModel item in bookViewModel.Authors)
                    {
                        Author author = await UnitOfWork.Authors.GetAsync(a => a.Id == item.Id);

                        if (author != null)
                        {
                            bookAuthors.Add(new BookAuthor {
                                BookId = book.Id, AuthorId = item.Id
                            });
                        }
                        else
                        {
                            throw new BadRequestException(UnitOfWorkExceptionMessage.AuthorsException.NotFoundById(item.Id));
                        }
                    }
                    UnitOfWork.BookAuthors.AddRangeAsync(bookAuthors);
                }
                if (bookViewModel.Genres.Count != 0)
                {
                    ICollection <BookGenre> bookGenres = new List <BookGenre>();
                    foreach (GenreViewModel item in bookViewModel.Genres)
                    {
                        Genre genre = await UnitOfWork.Genres.GetAsync(a => a.Id == item.Id);

                        if (genre != null)
                        {
                            bookGenres.Add(new BookGenre {
                                BookId = book.Id, GenreId = item.Id
                            });
                        }
                        else
                        {
                            throw new BadRequestException(UnitOfWorkExceptionMessage.GenresException.NotFoundById(item.Id));
                        }
                    }
                    UnitOfWork.BookGenres.AddRangeAsync(bookGenres);
                }
                if (bookViewModel.Tags.Count != 0)
                {
                    ICollection <BookTag> bookTags = new List <BookTag>();
                    foreach (TagViewModel item in bookViewModel.Tags)
                    {
                        Tag tag = await UnitOfWork.Tags.GetAsync(a => a.Id == item.Id);

                        if (tag != null)
                        {
                            bookTags.Add(new BookTag {
                                BookId = book.Id, TagId = item.Id
                            });
                        }
                        else
                        {
                            throw new BadRequestException(UnitOfWorkExceptionMessage.TagsException.NotFoundById(item.Id));
                        }
                    }
                    UnitOfWork.BookTags.AddRangeAsync(bookTags);
                }
                await UnitOfWork.SaveChangesAsync();

                return(await GetAsync(book.Id));
            }
            else
            {
                throw new NotFoundException(UnitOfWorkExceptionMessage.BooksException.AfterAddNotFound);
            }
        }
        /// <summary>
        ///  Liefert die Namensliste für eine bestimmte Buchgruppen zurück.
        ///  <seealso cref="isInBookGroup"/>
        /// </summary>
        /// <param name="LangID">Die SprachID</param>
        /// <param name="NameType">langen oder die kurzen Namen </param>
        /// <param name="BookGr">Welche Buchgruppe?</param>
        /// <returns>Eine Liste mit spezifischer Buchnamenauswahl</returns>
        public ArrayList GetListOfBookNamesByBookGroups(string LangID,BookNameType NameType,BookGroup BookGr)
        {
            ArrayList internalList=new ArrayList();

            XmlNodeList BOOKs;
            string BN;
            try
            {
                BOOKs=NamesXMLResource.DocumentElement.SelectNodes("descendant::ID[@descr='"+LangID+"']/BOOK");
                if(BOOKs!=null)
                {

                    foreach(XmlNode BOOK in BOOKs)
                    {

                        BN=BOOK.Attributes.GetNamedItem("bnumber").InnerText;

                        if(isInBookGroup(BN,BookGr))
                        {

                            switch((int)NameType)
                            {
                                case 1:
                                    internalList.Add(BOOK.Attributes.GetNamedItem("bshort").InnerText);
                                    break;
                                case 2:
                                    internalList.Add(BOOK.InnerText);
                                    break;

                            }// end switch

                        }
                    }// end foreach

                }
                return internalList;
            }
            catch(Exception e)
            {
                internalList.Add(e.Message);
                return internalList;
            }
        }
        /// <summary>
        ///   Testet,ob eine Buchnummer in einer Buchgruppe vorkommt.
        ///   <seealso cref="GetListOfBookNamesByBookGroups"/>
        /// </summary>
        /// <param name="BN">Die Buchnummer</param>
        /// <param name="BookGr">Die Buchgruppe</param>
        /// <returns>true, wenn Buchnummer in Buchgruppe vorkommt, sonst false</returns>
        private bool isInBookGroup(string BN,BookGroup BookGr)
        {
            int BOOKN=Convert.ToInt16(BN);
            bool intern=false;
            try
            {

                switch((int)BookGr)
                {
                    case 1:

                        // altes Testament
                        if((BOOKN>=1)&(BOOKN<=39))
                        {
                            intern=true;
                        }

                        break;
                    case 2:
                        // neues Testament
                        if((BOOKN>=40)&(BOOKN<=66))
                        {
                            intern=true;
                        }

                        break;
                    case 3:
                        // Apokryphen
                        if((BOOKN>=67)&(BOOKN<=100))
                        {
                            intern=true;
                        }
                        break;
                    case 4:
                        //Pentateuch
                        if((BOOKN>=1)&(BOOKN<=5))
                        {
                            intern=true;
                        }
                        break;
                    case 5:
                        // Geschichtsbücher
                        if((BOOKN>=6)&(BOOKN<=12))
                        {
                            intern=true;
                        }
                        break;
                    case 6:
                        // Chronistisches Geschichtswerk
                        if((BOOKN>=13)&(BOOKN<=17))
                        {
                            intern=true;
                        }

                        break;
                    case 7:
                        //Lieder und Lehrsprüche
                        if((BOOKN>=18)&(BOOKN<=22))
                        {
                            intern=true;
                        }

                        break;
                    case 8:
                        // Große Propheten
                        if((BOOKN>=23)&(BOOKN<=27))
                        {
                            intern=true;
                        }

                        break;
                    case 9:
                        //kleine Propheten
                        if((BOOKN>=28)&(BOOKN<=39))
                        {
                            intern=true;
                        }

                        break;
                    case 10:
                        // Spätschriften-geschichtliche
                        if((BOOKN==69)|(BOOKN==67)|(BOOKN==72)|(BOOKN==73)|(BOOKN==75))
                        {
                            intern=true;
                        }

                        break;
                    case 11:
                        // Spätschriften-Sprüche
                        if((BOOKN==68)|(BOOKN==70))
                        {
                            intern=true;
                        }
                        break;
                    case 12:
                        // Spätschriften-prophetische
                        if((BOOKN==71)|(BOOKN==79)|(BOOKN==74))
                        {
                            intern=true;
                        }
                        break;
                    case 13:
                        // Evangelien
                        if((BOOKN>=40)&(BOOKN<=43))
                        {
                            intern=true;
                        }
                        break;
                    case 14:
                        // Briefe des Apostels Paulus
                        if((BOOKN>=45)&(BOOKN<=57))
                        {
                            intern=true;
                        }

                        break;
                    case 15:
                        // katholische Briefe
                        if((BOOKN>=58)&(BOOKN<=65))
                        {
                            intern=true;
                        }

                        break;

                    default:
                        return intern;

                }// end switch
                return intern;
            }

            catch(Exception e)
            {

                return false;
            }
        }
Example #32
0
 public UpdateBookGroupRequest(BookGroup bookGroup)
 {
     BookGroupId = bookGroup.Id;
     Name        = bookGroup.Name;
 }