public ViewResult MoreDetails(int Id)
        {
            string error = "";

            var request = new DtoRequest();

            _requestService.GetRequestById(Id, out request, out error);

            var model = new EditRequestModel();

            model.Request = request;

            return(View(model));
        }
Exemple #2
0
        private void FillGrid()
        {
            using (var ctx = new BookContext())
            {
                var requests = (from r in ctx.BookRequests.Include(b => b.Book).Include(s => s.Student).AsNoTracking()
                                select new DtoRequest
                {
                    Id = r.Id,
                    Book = r.Book.BookName,
                    Student = r.Student.StudentName,
                    Note = r.Note
                }).OrderByDescending(x => x.Id).ToList();
                //dataGridView1.DataSource = null;
                dataGridView1.AutoGenerateColumns = false;
                dataGridView1.AutoSize            = true;
                dataGridView1.DataSource          = requests;

                var model = new DtoRequest();
                foreach (PropertyInfo item in model.GetType().GetProperties())
                {
                    DataGridViewColumn column = new DataGridViewTextBoxColumn();
                    column.DataPropertyName = item.Name;
                    column.Name             = item.Name;
                    if (dataGridView1.Columns[item.Name] == null)
                    {
                        dataGridView1.Columns.Add(column);
                    }
                }
                DataGridViewButtonColumn btnUpdate = new DataGridViewButtonColumn();
                btnUpdate.Name = "Update";
                btnUpdate.Text = "Update";
                btnUpdate.UseColumnTextForButtonValue = true;

                DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
                btnDelete.Name = "Delete";
                btnDelete.Text = "Delete";
                btnDelete.UseColumnTextForButtonValue = true;
                if (dataGridView1.Columns["Update"] == null)
                {
                    dataGridView1.Columns.Insert(model.GetType().GetProperties().Length, btnUpdate);
                }
                if (dataGridView1.Columns["Delete"] == null)
                {
                    dataGridView1.Columns.Insert(model.GetType().GetProperties().Length + 1, btnDelete);
                }

                this.Controls.Add(dataGridView1);
                this.Text = "data grid view";
            }
        }
Exemple #3
0
        /// <summary>
        /// Возвращает заявку с заданным id
        /// </summary>
        /// <param name="id">id заявки</param>
        /// <returns>DTO заявки</returns>
        public bool GetRequestById(int id, out DtoRequest outrequest, out string error)
        {
            outrequest = new DtoRequest();
            error      = "";

            //Получаем заявку по ID из БД
            var request = _requestRepository.GetById(id);

            if (request == null)
            {
                error = "Данной заявки не существует";
                return(false);
            }

            //маппим в Dto
            if (!_requestServiceHelper.MapRequestToDtoRequest(request, out outrequest))
            {
                error = "Ошибка данных заявки";
                return(false);
            }

            return(true);
        }
Exemple #4
0
        /// <summary>
        /// Маппит Request в DtoRequest
        /// </summary>
        /// <param name="request">переменная типа Request</param>
        /// <param name="dtoRequest">переменная типа DtoRequest </param>
        /// <returns>результат маппинга</returns>
        public bool MapRequestToDtoRequest(Request request, out DtoRequest dtoRequest)
        {
            dtoRequest = new DtoRequest()
            {
                Id                   = request.Id,
                EmployeeId           = request.EmployeeId,
                AuthorFirstName      = request.Employee.Firstname,
                AuthorLastName       = request.Employee.Lastname,
                DeparturePointId     = request.DeparturePointId,
                DeparturePointName   = (request.DeparturePoint == null) ? request.DepartureAddress : request.DeparturePoint.Name,
                DepartureAddress     = request.DepartureAddress,
                DestinationPointId   = request.DestinationPointId,
                DestinationPointName = (request.DestinationPoint == null) ? request.DestinationAddress : request.DestinationPoint.Name,
                DestinationAddress   = request.DestinationAddress,
                DepartureDateTime    = request.DepartureDateTime,
                CreationDateTime     = request.CreationDateTime,
                HasBaggage           = request.HasBaggage,
                Comment              = request.Comment,
                Mileage              = request.Mileage,
                Price                = request.Price,
                StatusId             = request.StatusId,
                StatusName           = request.Status.Viewname
            };
            try
            {
                if (dtoRequest == null)
                {
                    return(false);
                }
            }

            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
        public ActionResult ManagerHandleRequest(int?id)
        {
            var error = "";

            if (id == null)
            {
                return(HttpNotFound());
            }

            var model = new RequestHandleViewModel();

            var filter = new DisplayFilter();

            var ar = new DtoRequest();

            if (!_requestService.GetRequestById((int)id, out ar, out error))
            {
                return(HttpNotFound());
            }

            model.Request = ar;

            return(View(model));
        }
Exemple #6
0
        public ViewResult Select(int id)
        {
            var model = new ContractorViewModel();

            model.errors = new List <string>();
            var error   = "";
            var request = new DtoRequest();

            if (!_requestService.GetRequestById(id, out request, out error))
            {
                model.errors.Add(error);
            }

            model.RequestId = request.Id;
            model.Mileage   = request.Mileage;

            int?DeparturePointId = null;

            if (request.DeparturePointId != null)
            {
                DeparturePointId       = request.DeparturePointId;
                model.DepartureAddress = _locationService.GetPOIById((int)DeparturePointId).Name;
            }
            else
            {
                model.DepartureAddress = request.DepartureAddress;
            }


            int?DestinationPointId = null;

            if (request.DestinationPointId != null)
            {
                DestinationPointId       = request.DestinationPointId;
                model.DestinationAddress = _locationService.GetPOIById((int)DestinationPointId).Name;
            }
            else
            {
                model.DestinationAddress = request.DestinationAddress;
            }


            model.contractors = _contractorService.GetAllContractors();

            if (model.contractors == null || model.contractors.Count == 0)
            {
                model.errors.Add("Не найдено подходящих вариантов для данной поездки");
            }

            var requestPriceCalculator = new RequestPriceCalculatingServiceClient();

            // заполняем цену поездки для каждого подрядчика
            foreach (var contractor in model.contractors)
            {
                contractor.TotalPrice = /*(decimal)model.Mileage * contractor.Tariff;*/ requestPriceCalculator.CalculateRequestPrice(model.Mileage, contractor.Tariff);
            }

            requestPriceCalculator.Close();

            return(View(model));
        }
Exemple #7
0
 /// <summary>
 /// Метод отрабатывает вызов реализации удаления заявки через репозиторий
 /// </summary>
 /// <param name="item"></param>
 public void DeleteRequest(DtoRequest item)
 {
     _requestRepository.Delete(item.Id);
 }