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