Проектирование и реализация web-приложения для предоставления транспортных услуг

Разработка web-приложения для автоматизации работы диспетчера транспортной компании. Анализ требований к формированию программного обеспечения. Анализ построения логической модели информации. Суть создания SQL-скриптов для реализации таблиц баз данных.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 06.06.2017
Размер файла 602,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

{

Session["Culture"] = new CultureInfo(lang);

return Redirect(returnUrl);

}

[HttpGet]

public ActionResult Login()

{

return View(new LoginViewModel());

}

[HttpPost]

public ActionResult Login(LoginViewModel model)

{

//_usersProvider.LoginUser(model.Login, model.Password);

var user = _usersProvider.LoginUser(model.Login, model.Password);

if (user == null)

{

model.UserNotExist = true;

}

else

{

UserContext.SetUser(user);

return RedirectToAction("Profile");

}

return View(model);

}

[HttpGet]

public ActionResult NewLogin()

{

return View(new NewLoginViewModel());

}

[HttpPost]

public async Task<ActionResult> NewLogin(NewLoginViewModel model)

{

if (ModelState.IsValid)

{

string photoURL = "";

if (model.Upload != null)

{

// получаем имя файла

string fileName = System.IO.Path.GetFileName(model.Upload.FileName);

photoURL = "/Content/UserImages/" + fileName;

// сохраняем файл в папку Files в проекте

model.Upload.SaveAs(Server.MapPath(photoURL));

}

var user = _usersProvider.RegisterUser(model.Surname, model.Name, model.Middle_name, model.Email, model.Phone, model.RightsCategory, photoURL, model.Password);

UserContext.SetUser(user);

});

return RedirectToAction("Profile");

}

return View(model);

}

[HttpGet]

public ActionResult Profile()

{

var User = UserContext.GetCurrentUser();

if (User != null)

{

var model = new ProfileViewModel

{

Surname = User.Surname,

Name = User.Name,

Middle_name = User.MiddleName,

Email = User.Email,

//DrivingExpirience = User.DrivingExpirience,

RightsCategory = User.RightsCategory,

Phone = User.Phone,

Password = User.Password,

Repeat_password = User.Password,

Upload = User.PhotoURL

};

return View(model);

}

else { return View(); }

}

[HttpPost]

public ActionResult Profile(ProfileViewModel model)

{

if (ModelState.IsValid)

{

string photoURL = model.Upload;

if (model.Image != null)

{

// получаем имя файла

string fileName = System.IO.Path.GetFileName(model.Image.FileName);

photoURL = "/Content/UserImages/" + fileName;

// сохраняем файл в папку Files в проекте

model.Image.SaveAs(Server.MapPath(photoURL));

}

var user = _usersProvider.EditingProfile(model.Surname, model.Name, model.Middle_name, model.Email, model.Phone, model.RightsCategory, model.Password, photoURL);

UserContext.SetUser(user);

}

return View(model);

}

[HttpGet]

public ActionResult EditingOfAllProfiles(string surname, string name, string middle_name, string email, string phone, string rightsCategory, string password, string photo)

{

var model = new ProfileViewModel

{

Surname = surname,

Name = name,

Middle_name = middle_name,

Email = email,

//DrivingExpirience = drivingExperiance,

RightsCategory = rightsCategory,

Phone = phone,

Password = password,

Repeat_password = password,

Upload = photo

};

return View(model);

}

[HttpGet]

public ActionResult AllProfiles()

{

var model = new ProfileList();

var profiles = _usersProvider.GetAllProfiles();

foreach (var profile in profiles)

{

var profileViewModel = new ProfileViewModel

{

Surname = profile.Surname,

Name = profile.Name,

Middle_name = profile.MiddleName,

Email = profile.Email,

// DrivingExpirience = profile.DrivingExpirience,

RightsCategory = profile.RightsCategory,

Phone = profile.Phone,

Password = profile.Password,

Upload = profile.PhotoURL

};

model.ProfilesList.Add(profileViewModel);

}

return View(model);

}

[HttpPost]

public ActionResult AllProfiles(ProfileList model)

{

var profiles = _usersProvider.GetAllProfilesOderBy();

foreach (var profile in profiles)

{

var profileViewModel = new ProfileViewModel

{

Surname = profile.Surname,

Name = profile.Name,

Middle_name = profile.MiddleName,

Email = profile.Email,

//DrivingExpirience = profile.DrivingExpirience,

RightsCategory = profile.RightsCategory,

Phone = profile.Phone,

Password = profile.Password,

Upload = profile.PhotoURL

};

model.ProfilesList.Add(profileViewModel);

}

return View(model);

}

[HttpGet]

public ActionResult LogOut()

{

UserContext.SetUser(null);

return RedirectToAction("Index", "Information");

}

}

}

VehicleController.cs

using MvcApplication1.Models;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

using BusinessLogic.Interfaces;

using BusinessLogic.Providers;

using MvcApplication1.Helpers;

using System.Globalization;

using System.Net.Mail;

using System.Threading.Tasks;

namespace MvcApplication1.Controllers

{

public class VehicleController : Controller

{

private IVehiclesProvider _vehiclesProvider = new VehiclesProvider();

//

// GET: /Vehicle/

[HttpGet]

public ActionResult Vehicle()

{

return View(new VehicleViewModel());

}

[HttpGet]

public ActionResult AllVehicles()

{

var model = new VehicleList();

var vehicles = _vehiclesProvider.GetAllVehicles();

foreach (var vehicle in vehicles)

{

var vehicleViewModel = new VehicleViewModel

{

Mark = vehicle.Mark,

Model = vehicle.Model,

TypeofVehicle = vehicle.TypeofVehicle,

Capacity = vehicle.Сapacity,

Area = vehicle.Area,

Size = vehicle.Size

};

model.VehiclesList.Add(vehicleViewModel);

}

return View(model);

}

[HttpPost]

public ActionResult AllVehicles(VehicleList model)

{

var vehicles = _vehiclesProvider.GetAllVehiclesOderBy();

foreach (var vehicle in vehicles)

{

var vehicleViewModel = new VehicleViewModel

{

Mark = vehicle.Mark,

Model = vehicle.Model,

TypeofVehicle = vehicle.TypeofVehicle,

Capacity = vehicle.Сapacity,

Area = vehicle.Area,

Size = vehicle.Size

};

model.VehiclesList.Add(vehicleViewModel);

}

return View(model);

}

}

}

InformationController.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Mvc;

namespace MvcApplication1.Controllers

{

public class InformationController : Controller

{

public ActionResult Index()

{

return View();

}

public ActionResult TermsUse()

{

return View();

}

}

}

LoginViewModel.cs

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.Linq;

using System.Web;

namespace MvcApplication1.Models

{

public class LoginViewModel

{

public bool UserNotExist { get; set; }

public string Login { get; set; }

public string Password { get; set; }

}

public class NewLoginViewModel

{

public HttpPostedFileBase Upload { get; set; }

[Required(ErrorMessage = "Ошибка, поле «Имя» должно быть обязательно заполненным!")]

public string Name { get; set; }

[Required(ErrorMessage = "Ошибка, поле «Фамилия» должно быть обязательно заполненным!")]

public string Surname { get; set; }

public string Middle_name { get; set; }

[Required(ErrorMessage = "Ошибка, поле «Емейл» должно быть обязательно заполненным!")]

[RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}", ErrorMessage = "Некорректный адрес")]

public string Email { get; set; }

public string Phone { get; set; }

[StringLength(50, MinimumLength = 0, ErrorMessage = "Длина строки должна быть меньше 100 символов")]

//public float DrivingExpirience { get; set; }

public string RightsCategory { get; set; }

[Required(ErrorMessage = "Ошибка, поле «Пароль» должно быть обязательно заполненным!")]

[DataType(DataType.Password)]

public string Password { get; set; }

[Required(ErrorMessage = "Ошибка, поле «Повторный ввод пароля» должно быть обязательно заполненным!")]

[Compare("Password", ErrorMessage = "Пароли не совпадают")]

[DataType(DataType.Password)]

public string Repeat_password { get; set; }

}

}

ProfileList.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace MvcApplication1.Models

{

public class ProfileList

{

public ProfileList()

{

ProfilesList = new List<ProfileViewModel>();

}

public List<ProfileViewModel> ProfilesList { get; set; }

}

}

ProfileViewModel.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.ComponentModel.DataAnnotations;

namespace MvcApplication1.Models

{

public class ProfileViewModel

{

public string Surname { get; set; }

public string Name { get; set; }

public string Middle_name { get; set; }

public string Email { get; set; }

public string Phone { get; set; }

public string RightsCategory { get; set; }

[StringLength(50, MinimumLength = 0, ErrorMessage = "Длина строки должна быть меньше 100 символов")]

public string Password { get; set; }

// public float DrivingExpirience { get; set; }

public string Upload { get; set; }

public HttpPostedFileBase Image { get; set; }

[Compare("Password", ErrorMessage = "Пароли не совпадают")]

[DataType(DataType.Password)]

public string Repeat_password { get; set; }

}

}

Product.cs

using System;

using System.Collections.Generic;

using System.Data.Linq.Mapping;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Database.Entyties

{

[Table(Name = "Products")]

public class Product

{

[Column]

public int IdProduct { get; set; }

[Column]

public string Name { get; set; }

[Column]

public string Typeofproduct { get; set; }

[Column]

public float Weight { get; set; }

[Column]

public float Width { get; set; }

[Column]

public float Height { get; set; }

[Column]

public float Length { get; set; }

[Column]

public float Price { get; set; }

}

}

Traffic.cs

using System;

using System.Collections.Generic;

using System.Data.Linq.Mapping;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Database.Entyties

{

[Table(Name = "Traffics")]

public class Traffic

{

[Column]

public int IdTraffic { get; set; }

[Column]

public string Name { get; set; }

[Column]

public string Email { get; set; }

[Column]

public DateTime Date { get; set; }

[Column]

public string PointA { get; set; }

[Column]

public string PointB { get; set; }

[Column]

public string Client { get; set; }

[Column]

public string Number { get; set; }

[Column]

public int IdVehicle { get; set; }

[Column]

public int IdProduct { get; set; }

}

}

Vehicle.cs

using System;

using System.Collections.Generic;

using System.Data.Linq.Mapping;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Database.Entyties

{

[Table(Name = "Vehicles")]

public class Vehicle

{

[Column]

public int IdVehicle { get; set; }

[Column]

public string Mark { get; set; }

[Column]

public string Model { get; set; }

[Column]

public string TypeofVehicle { get; set; }

[Column]

public float Сapacity { get; set; }

[Column]

public float Area { get; set; }

[Column]

public float Size { get; set; }

}

}

User.cs

using System;

using System.Collections.Generic;

using System.Data.Linq.Mapping;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Database.Entyties

{

[Table(Name = "Users")]

public class User

{

[Column]

public string Surname { get; set; }

[Column]

public string Name { get; set; }

[Column(Name = "Middle_name")]//указываем, если имя изменилось

public string MiddleName { get; set; }

[Column(IsPrimaryKey = true)]

public string Email { get; set; }

[Column]

public string Phone { get; set; }

[Column]

public string PhotoURL { get; set; }

//[Column(Name = "DrivingExpirience")]//указываем, если имя изменилось

//public float DrivingExpirience { get; set; }

[Column(Name = "RightsCategory")]//указываем, если имя изменилось

public string RightsCategory { get; set; }

[Column]

public string Password { get; set; }

[Column]

public bool IsAdmin { get; set; }

}

}

IUserProvider.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Database.Entyties;

namespace BusinessLogic.Interfaces

{

public interface IUsersProvider

{

User RegisterUser(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL);

User LoginUser(string Login, string Password);

User EditingProfile(string Surname, string Name, string MiddleName, string Phone, string Email, string RightsCategory, string Password, string PhotoURL);

IEnumerable<User> GetAllProfiles();

IEnumerable<User> GetAllProfilesOderBy();

}

}

IuserInterface.cs

using BusinessLogic.Interfaces;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using Database.Entyties;

using Database;

namespace BusinessLogic.Providers

{

public class UsersProvider : IUsersProvider

{

private TransportationServicesDatabaseContext _context = new TransportationServicesDatabaseContext();

public User RegisterUser(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL)

{

var user = new User

{

Surname = surname,

Name = name,

MiddleName = middleName,

Email = email,

Phone = phone,

//DrivingExpirience = drivingExpirience,

RightsCategory = rightsCategory,

Password = password,

PhotoURL = photoURL

};

_context.Users.InsertOnSubmit(user);

_context.SubmitChanges();

return user;

}

public User LoginUser(string login, string password)

{

var user = _context.Users.FirstOrDefault(u => string.Equals(u.Email, login));

if (user != null && string.Equals(user.Password, password))

{

return user;

}

return null;

}

public User EditingProfile(string surname, string name, string middleName, string email, string phone, string rightsCategory, string password, string photoURL)

{

var user = _context.Users.FirstOrDefault(u => int.Equals(u.Email, email));

user.Surname = surname;

user.Name = name;

user.MiddleName = middleName;

user.Phone = phone;

user.RightsCategory = rightsCategory;

user.Password = password;

// user.DrivingExpirience = drivingExpirience;

user.PhotoURL = photoURL;

_context.SubmitChanges();

return user;

}

public IEnumerable<User> GetAllProfiles()

{

return _context.Users.OrderBy(t => t.Email);

}

public IEnumerable<User> GetAllProfilesOderBy()

{

return _context.Users.OrderBy(t => t.Surname);

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Проектирование базы данных для автоматизации деятельности по учету автотранспорта ГИБДД Вяземского района. Выбор инструментария для разработки базы данных и приложения по её ведению. Описание интерфейса и физической структуры приложения баз данных.

    курсовая работа [2,2 M], добавлен 28.06.2011

  • Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.

    курсовая работа [926,7 K], добавлен 20.05.2015

  • Разработка базы данных и прикладного программного приложения с целью обеспечения хранения, накопления и предоставления информации об учащихся МБОУ "Средняя общеобразовательная школа №18" г. Грозный. Методы обеспечения информационной безопасности.

    дипломная работа [2,9 M], добавлен 25.06.2015

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Исследование спецификации логической игры "Сапёр". Системное и функциональное проектирование приложения. Разработка программных модулей. Обзор классов, необходимых для создания интерфейса данного приложения. Инструменты для реализации логической игры.

    курсовая работа [1,2 M], добавлен 13.01.2016

  • Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.

    курсовая работа [1,6 M], добавлен 08.02.2013

  • Объектно-ориентированный анализ и проектирование ИС. Описание требований в контексте модели прецедентов. Функции обработки входной информации. Определение требований к клиентскому приложению. Назначение создаваемой АСУ. Разработка приложения пользователя.

    дипломная работа [2,7 M], добавлен 07.02.2016

  • Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.

    курсовая работа [4,8 M], добавлен 28.04.2014

  • Методика и основные этапы проектирования логической и физической модели базы данных. Реализация спроектированной модели в системе управления базами данных, принципы создания и апробация специального клиентского приложения для работы данной программы.

    курсовая работа [1,3 M], добавлен 27.06.2013

  • Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.

    курсовая работа [4,3 M], добавлен 30.06.2015

  • Анализ проблемы автоматизации и управления производством. Организационная структура Дирекции по информационным технологиям, разработка логической схемы базы данных. Разработка приложения в среде Oracle Express Edition. Экономическая эффективность проекта.

    дипломная работа [500,3 K], добавлен 25.07.2015

  • Общие сведения о платформе Microsoft NET Framework. Разработка приложения "Поставка и реализация программного обеспечения", содержащего базу данных о каталогах адресов в Internet. Описание логической структуры. Требования к техническому обеспечению.

    курсовая работа [2,4 M], добавлен 28.06.2011

  • Разработка базы данных для учета размещения и услуг гостиницы-отеля "Баташев". Анализ предметной области, проектирование базы данных. Реализация SQL-запросов для создания объектов и получения отчетов. Реализация приложения для работы с базой данных.

    курсовая работа [336,0 K], добавлен 05.01.2014

  • Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.

    курсовая работа [816,5 K], добавлен 05.02.2018

  • Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.

    курсовая работа [2,4 M], добавлен 11.02.2013

  • Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.

    курсовая работа [462,5 K], добавлен 10.08.2014

  • Системный анализ и анализ требований. Концептуальная модель данных. Проектирование логической структуры реляционной базы данных. Даталогическая модель базы данных. Алгоритмы реализации модулей и их реализация (запросы, таблицы, формы, отчеты, макросы).

    курсовая работа [1,6 M], добавлен 17.12.2015

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

  • Разработка приложения для проверки использования времен глаголов в английском языке. Создание базы данных. Анализ используемых средств для реализации автоматического разбора текста. Проектирование мобильного приложения с помощью диаграмм деятельности.

    дипломная работа [2,6 M], добавлен 13.09.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.