Ejemplo n.º 1
0
        public ContractDetailViewModel EditContractDetail(int?id)
        {
            var listTravelDb = from c in _db.ContractDetails
                               join t in _db.Tours on c.TourId equals t.Id
                               join ct in _db.Contracts on c.ContractId equals ct.Id
                               join cs in _db.Customers on ct.CustomerId equals cs.Id
                               where c.Id == id
                               select new { t.Code, c.NameTour, cs.Name, ct.BeginDate, ct.Paid, t.Cost, t.Picture, c.PeopleGo, cs.Email, c.Id };
            var detailBookTour = new ContractDetailViewModel();

            foreach (var item in listTravelDb)
            {
                detailBookTour.Id           = item.Id;
                detailBookTour.Code         = item.Code;
                detailBookTour.NameTour     = item.NameTour;
                detailBookTour.NameCustomer = item.Name;
                detailBookTour.BeginDate    = item.BeginDate;
                detailBookTour.Paid         = item.Paid;
                detailBookTour.Cost         = item.Cost;
                detailBookTour.Picture      = item.Picture;
                detailBookTour.PeopleGo     = item.PeopleGo;
                detailBookTour.Email        = item.Email;
            }
            return(detailBookTour);
        }
Ejemplo n.º 2
0
 public ContractDetail(ContractDetailViewModel contractDetail)
 {
     this.Id         = contractDetail.Id;
     this.ContractId = contractDetail.Id;
     this.PeopleGo   = contractDetail.PeopleGo;
     this.Cost       = contractDetail.Cost;
     this.NameTour   = contractDetail.NameTour;
     this.TourId     = contractDetail.TourId;
 }
Ejemplo n.º 3
0
        public void EditContractDetail(ContractDetailViewModel viewModel)
        {
            var data = _db.ContractDetails.FirstOrDefault(n => n.Id == viewModel.Id);

            if (viewModel.Paid == true)
            {
                var model = _db.Contracts.FirstOrDefault(n => n.Id == data.ContractId);
                model.Paid = true;
                _db.SaveChanges();
            }
        }
Ejemplo n.º 4
0
        public IActionResult MarkAsPaid(ContractDetailViewModel detailViewModel)
        {
            string currentId = (TempData["currentId"]).ToString();

            int[] data = detailViewModel.BankSlips.Where(x => x.IsSelected == true).Select(x => x.BankslipId).ToArray();

            if (!data.Any())
            {
                return(RedirectToAction("Details", new { id = currentId, success = false }));
            }
            bool success = _blContract.MarkAsPaid(data);

            return(RedirectToAction("Details", new { id = currentId }));
        }
Ejemplo n.º 5
0
        public void BookingTour(BookingTourCommand command)
        {
            var newCustomer = new Customer(command);

            _db.Customers.Add(newCustomer);
            _db.SaveChanges();
            //Insert Contract
            ContractViewModel contract = new ContractViewModel();
            {
                contract.CustomerId = newCustomer.Id;
                contract.TourId     = command.TourId;
                contract.BeginDate  = command.BeginDate;
                contract.Paid       = false;
                contract.Content    = command.Content;
            }
            var newContract = new Contract(contract);

            _db.Contracts.Add(newContract);
            _db.SaveChanges();
            var tour = _db.Tours.FirstOrDefault(n => n.Id == command.TourId);

            {
                tour.Quantity = tour.Quantity - Convert.ToInt32(command.PeopleGo);
            }
            _db.SaveChanges();
            //Insert ContractDetail
            ContractDetailViewModel contractDetail = new ContractDetailViewModel();
            {
                contractDetail.TourId     = tour.Id;
                contractDetail.NameTour   = tour.NameTour;
                contractDetail.Cost       = tour.Cost;
                contractDetail.PeopleGo   = Convert.ToInt32(command.PeopleGo);
                contractDetail.ContractId = newContract.Id;
            }
            var newContractDetail = new ContractDetail();

            {
                newContractDetail.TourId     = contractDetail.TourId;
                newContractDetail.NameTour   = contractDetail.NameTour;
                newContractDetail.Cost       = contractDetail.Cost;
                newContractDetail.PeopleGo   = contractDetail.PeopleGo;
                newContractDetail.ContractId = contractDetail.ContractId;
            }
            _db.ContractDetails.Add(newContractDetail);
            _db.SaveChanges();
        }
Ejemplo n.º 6
0
        public IActionResult Schedule(ContractDetailViewModel installments, bool success = true)
        {
            List <int> installmentsIds = installments.DelayedInstallments.Where(x => x.IsSelected == true).Select(x => x.InstallmentId).ToList();
            string     currentId       = (TempData["currentId"]).ToString();

            ViewBag.CurrentId = currentId;

            if (!installmentsIds.Any())
            {
                return(RedirectToAction("Details", new { id = currentId, success = false }));
            }

            BankSlipScheduleViewModel bankSlipSchedule = _blContract.GetDetailsToSchedule(installmentsIds);

            ViewBag.Success = success;

            return(View(bankSlipSchedule));
        }
Ejemplo n.º 7
0
        public ContractDetailViewModel GetContractDetail(string contractId)
        {
            ContractDetailViewModel details = new ContractDetailViewModel();
            Contract c = _context.Contracts.Where(x => x.ExternalId == contractId)
                         .Include(x => x.Installments)
                         .FirstOrDefault();

            details.Contract            = c;
            details.DelayedInstallments = c.Installments.Where(x => x.Delayed == true).ToList();

            int[] installmentsId = details.DelayedInstallments.Select(x => x.InstallmentId).ToArray();

            details.BankSlips = (from bk in _context.BankSlips
                                 where bk.BankSlipInstallment.Any(x => installmentsId.Contains(x.InstallmentId)) &&
                                 bk.Status == BankSlipStatus.Pending
                                 select bk).ToList();
            return(details);
        }
Ejemplo n.º 8
0
        public List <ContractDetailViewModel> ListTravel()
        {
            var listTravelDb = from c in _db.ContractDetails
                               join t in _db.Tours on c.TourId equals t.Id
                               join ct in _db.Contracts on c.ContractId equals ct.Id
                               join cs in _db.Customers on ct.CustomerId equals cs.Id
                               select new { t.Code, c.NameTour, cs.Name, ct.BeginDate, ct.Paid, t.Cost, c.Id };
            var listTravel = new List <ContractDetailViewModel>();

            foreach (var item in listTravelDb)
            {
                ContractDetailViewModel viewModel = new ContractDetailViewModel();
                viewModel.Id           = item.Id;
                viewModel.Code         = item.Code;
                viewModel.NameTour     = item.NameTour;
                viewModel.NameCustomer = item.Name;
                viewModel.BeginDate    = item.BeginDate;
                viewModel.Paid         = item.Paid;
                viewModel.Cost         = item.Cost;
                listTravel.Add(viewModel);
            }
            return(listTravel);
        }
        public JsonResult Post(string consignorCode, int eventNumber, [FromBody] ContractDetailViewModel viewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var contractHeader = _repository.GetContractHeaderByCosignorCodeAndEventNumber(consignorCode, eventNumber);

                    if (contractHeader == null)
                    {
                        return(Json($"Error - Contract Header not found for Consignor->{consignorCode} and Event->{eventNumber}"));
                    }
                    // Map to the Entity
                    var newDetail = Mapper.Map <ContractDetail>(viewModel);

                    //Save to Database
                    _repository.AddContractDetail(consignorCode, eventNumber, newDetail);

                    if (_repository.SaveAll())
                    {
                        Response.StatusCode = (int)HttpStatusCode.Created;
                        return(Json(Mapper.Map <ContractDetailViewModel>(newDetail)));
                    }
                }
            }

            catch (Exception ex)
            {
                _logger.LogError("Failed to save new contracts detail", ex);
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(Json(new { Message = ex.Message, Text = "Did not work!" }));
            }

            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json("Model Validation Failed!"));
        }
Ejemplo n.º 10
0
 public IActionResult EditContractDetail(ContractDetailViewModel viewModel)
 {
     this._travelService.EditContractDetail(viewModel);
     return(RedirectToAction("Travel", "Admin"));
 }
Ejemplo n.º 11
0
        public void BookingTour(BookingTourCommand command)
        {
            var newCustomer = new Customer();

            newCustomer.Name    = command.Name;
            newCustomer.Email   = command.Email;
            newCustomer.Address = command.Address;
            newCustomer.Phone   = command.Phone;

            _db.Customers.Add(newCustomer);
            _db.SaveChanges();
            //Insert Contract
            ContractViewModel contract = new ContractViewModel();
            {
                contract.CustomerId = newCustomer.Id;
                contract.TourId     = command.TourId;
                contract.BeginDate  = command.BeginDate;
                contract.Paid       = false;
                contract.Content    = command.Content;
            }
            var newContract = new Contract(contract);

            _db.Contracts.Add(newContract);
            _db.SaveChanges();

            var tour = new Tour();

            using (var connection = new SqlConnection(this._db.Database.GetDbConnection().ConnectionString))
            {
                connection.Open();
                if (command != null)
                {
                    tour = connection.Query <Tour>(@"select * from Tour").FirstOrDefault(n => n.Id == command.TourId);
                }
                connection.Close();
            }

            tour.Quantity = tour.Quantity - Convert.ToInt32(command.PeopleGo);

            dbSet.Attach(tour);
            _db.Entry(tour).State = EntityState.Modified;

            _db.SaveChanges();
            //Insert ContractDetail
            ContractDetailViewModel contractDetail = new ContractDetailViewModel();
            {
                contractDetail.TourId     = tour.Id;
                contractDetail.NameTour   = tour.NameTour;
                contractDetail.Cost       = tour.Cost;
                contractDetail.PeopleGo   = Convert.ToInt32(command.PeopleGo);
                contractDetail.ContractId = newContract.Id;
            }
            var newContractDetail = new ContractDetail();

            {
                newContractDetail.TourId     = contractDetail.TourId;
                newContractDetail.NameTour   = contractDetail.NameTour;
                newContractDetail.Cost       = contractDetail.Cost;
                newContractDetail.PeopleGo   = contractDetail.PeopleGo;
                newContractDetail.ContractId = contractDetail.ContractId;
            }
            _db.ContractDetails.Add(newContractDetail);
            _db.SaveChanges();

            using (MailMessage emailMessage = new MailMessage())
            {
                emailMessage.From = new MailAddress("*****@*****.**", "Công ty du lịch");
                emailMessage.To.Add(new MailAddress("*****@*****.**", "Account1"));
                emailMessage.Subject  = "Thông tin đặt tour";
                emailMessage.Body     = "TourId: " + contractDetail.TourId + Environment.NewLine + "Tên Tour: " + contractDetail.NameTour + Environment.NewLine + "Giá: " + contractDetail.Cost + Environment.NewLine + "Số người đi: " + contractDetail.PeopleGo;
                emailMessage.Priority = MailPriority.Normal;
                using (SmtpClient MailClient = new SmtpClient("smtp.gmail.com", 587))
                {
                    MailClient.EnableSsl   = true;
                    MailClient.Credentials = new System.Net.NetworkCredential("*****@*****.**", "tungvipro809");
                    MailClient.Send(emailMessage);
                }
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Get all the details (delayed installments, bank slips, contract information) for a given contract
        /// </summary>
        /// <param name="contractId">The id of the desired contract</param>
        /// <returns></returns>
        public ContractDetailViewModel GetContractDetail(string contractId)
        {
            ContractDetailViewModel dt = _contractRepository.GetContractDetail(contractId);

            return(dt);
        }