예제 #1
0
        public void EditTravelOrder(TravelOrder travelOrder)
        {
            using (TransactionScope scope = new TransactionScope())
            {
                using (SqlConnection con = new SqlConnection(cs))
                {
                    con.Open();
                    using (SqlCommand cmd = con.CreateCommand())
                    {
                        cmd.CommandText = EDIT_TRAVELORDER;
                        cmd.CommandType = System.Data.CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@travelOrderNo", travelOrder.TravelOrderNo);
                        cmd.Parameters.AddWithValue("@travelOrderDate", Convert.ToDateTime(travelOrder.TravelOrderDate));
                        cmd.Parameters.AddWithValue("@driverID", travelOrder.Driver.IDDriver);
                        cmd.Parameters.AddWithValue("@vehicleID", travelOrder.Vehicle.IDVehicle);
                        cmd.Parameters.AddWithValue("@dateOfDeparture", Convert.ToDateTime(travelOrder.DateOfDeparture));
                        cmd.Parameters.AddWithValue("@destinationStart", travelOrder.DestinationStart);
                        cmd.Parameters.AddWithValue("@destinationEnd", travelOrder.DestinationEnd);
                        cmd.Parameters.AddWithValue("@beginningCounterStatus", travelOrder.BeginningCounterStatus);
                        cmd.Parameters.AddWithValue("@endCounterStatus", travelOrder.EndCounterStatus);
                        cmd.Parameters.AddWithValue("@travelOrderTypeID", travelOrder.TravelOrderType.IDTravelOrderType);
                        cmd.Parameters.AddWithValue("@dailyAllowanceID", travelOrder.DailyAllowance.IDDailyAllowance);
                        cmd.Parameters.AddWithValue("@startTime", travelOrder.StartTime);
                        cmd.Parameters.AddWithValue("@endTime", travelOrder.EndTime);

                        cmd.Parameters.AddWithValue("@idTravelOrder", travelOrder.IDTravelOrder);

                        cmd.ExecuteNonQuery();
                        scope.Complete();
                    }
                }
            }
        }
예제 #2
0
        public ActionResult Create([Bind(Include = "id, subject, from, to, name, surname, dateOfStartTravel, dateOfEndTravel, travelVehicle, reasonForTravel, relationOfTravel, projectNumber, accommodation, accomodationDate, accomodationArrivalDate, accomodationDepartureDate, comment")] TravelOrder travelOrder, SystemForOpeningTravelOrdersSpan.Models.TravelOrder _objModelMail)
        {
            if (ModelState.IsValid)
            {
                db.TravelOrders.Add(travelOrder);
                db.SaveChanges();

                MailMessage mail = new MailMessage();
                mail.To.Add(_objModelMail.to);
                mail.From    = new MailAddress(_objModelMail.from);
                mail.Subject = "Putni nalog" + _objModelMail.subject;
                string Body = "Pozdrav, <br />" + " Zamolio bih putni nalog za \n" + _objModelMail.name + " "
                              + _objModelMail.surname + ". \nDatum početka putovanja je " + _objModelMail.dateOfStartTravel + ", a datum povratka je " + _objModelMail.dateOfEndTravel + " . Putnik koristi " + _objModelMail.travelVehicle
                              + " za put." + " Razlog putovanja je " + _objModelMail.reasonForTravel + ". Relacija putovanja je slijedeća: "
                              + _objModelMail.relationOfTravel + ". Razlog dolaska je projekt broj: " + _objModelMail.projectNumber + ". Smještaj je potreban od: " + _objModelMail.accomodationArrivalDate + " do: "
                              + _objModelMail.accomodationDepartureDate + "<br /> Lijep pozdrav, <br />" + _objModelMail.name + " " + _objModelMail.name;
                mail.Body       = Body;
                mail.IsBodyHtml = true;
                SmtpClient smtp = new SmtpClient();
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials           = new System.Net.NetworkCredential
                                                 ("*****@*****.**", "kinka92etfos");// Enter seders User name and password
                smtp.EnableSsl = true;
                smtp.Send(mail);

                return(View(travelOrder));
            }
            return(View(travelOrder));
        }
예제 #3
0
        protected void btnAddOrder_Click(object sender, EventArgs e)
        {
            try
            {
                TravelOrder trOrder = new TravelOrder
                {
                    OrderStatus    = ddlOrderStatus.SelectedIndex + 1,
                    VehicleID      = (_vehicles.Where(x => x.IsAvailable)).ToList().ElementAt(ddlVehicle.SelectedIndex).Id,
                    DriverID       = _drivers[ddlDriver.SelectedIndex + 1].Id,
                    VehicleStartKM = (_vehicles.Where(x => x.IsAvailable)).ToList().ElementAt(ddlVehicle.SelectedIndex).Milleage,
                    StartingCity   = lbStartCity.Text,
                    FinishCity     = lbFinishCity.Text,
                    TotalDays      = int.Parse(lbTotalDays.Value),
                    StartingDate   = DateTime.Parse(tbStartingDate.Text.ToString())
                };


                int result = repo.InsertTravelOrder(trOrder);
                if (result == 200)
                {
                    InitPage();
                    ToggleEditMode();
                    ClearAllFields();
                    lblInfo.Text = "Uspjesno dodan zapis";
                }
            }
            catch (SqlException ex)
            {
                lblInfo.Text = "SQLException: " + ex.Message;
            }
            catch (Exception ex)
            {
                lblInfo.Text = "Exception: " + ex.Message;
            }
        }
예제 #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            TravelOrder travelOrder = db.TravelOrders.Find(id);

            db.TravelOrders.Remove(travelOrder);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #5
0
 public ActionResult Edit([Bind(Include = "id,subject,from,to,name,surname,dateOfStartTravel,dateOfEndTravel,travelVehicle,reasonForTravel,relationOfTravel,projectNumber,accommodation,accomodationDate,accomodationArrivalDate,accomodationDepartureDate,comment")] TravelOrder travelOrder)
 {
     if (ModelState.IsValid)
     {
         db.Entry(travelOrder).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(travelOrder));
 }
예제 #6
0
        private void InitPage()
        {
            string    sqlCommand = "SELECT * FROM TravelOrder; SELECT * FROM Route";
            DbCommand dbCommand  = db.GetSqlStringCommand(sqlCommand);

            DataSet ds = new DataSet();

            ds = db.ExecuteDataSet(dbCommand);
            ds.Tables[0].TableName = "TravelOrder";
            ds.Tables[1].TableName = "Route";

            orders.Clear();
            routes.Clear();

            foreach (DataRow rowDrzava in ds.Tables["TravelOrder"].Rows)
            {
                TravelOrder tempOrder = new TravelOrder();

                tempOrder.Id             = int.Parse(rowDrzava["Id"].ToString());
                tempOrder.OrderStatus    = int.Parse(rowDrzava["OrderStatus"].ToString());
                tempOrder.VehicleID      = int.Parse(rowDrzava["VehicleID"].ToString());
                tempOrder.DriverID       = int.Parse(rowDrzava["UserID"].ToString());
                tempOrder.VehicleStartKM = long.Parse(rowDrzava["Vehicle_km_start"].ToString());
                tempOrder.VehicleEndKM   = Utils.ParseNullable <long>(rowDrzava["Vehicle_km_end"].ToString());
                tempOrder.StartingCity   = rowDrzava["Starting_city"].ToString();
                tempOrder.FinishCity     = rowDrzava["Finish_city"].ToString();
                tempOrder.TotalDays      = int.Parse(rowDrzava["Total_days"].ToString());
                tempOrder.StartingDate   = DateTime.Parse(rowDrzava["StartingDate"].ToString());
                tempOrder.StartingDate   = DateTime.Parse(rowDrzava["StartingDate"].ToString());

                orders.Add(tempOrder);
            }
            foreach (DataRow rowRoute in ds.Tables["Route"].Rows)
            {
                Route tempRoute = new Route();
                tempRoute.Id              = int.Parse(rowRoute["Id"].ToString());
                tempRoute.TravelOrder     = orders.Find(x => x.Id == int.Parse(rowRoute["TravelOrderID"].ToString()));
                tempRoute.DateStart       = DateTime.Parse(rowRoute["DateStart"].ToString());
                tempRoute.DateEnd         = DateTime.Parse(rowRoute["DateEnd"].ToString());
                tempRoute.StartCoordinate = rowRoute["StartCoordinate"].ToString();
                tempRoute.EndCoordinate   = rowRoute["EndCoordinate"].ToString();
                tempRoute.DistanceCrossed = int.Parse(rowRoute["DistanceCrossed"].ToString());
                tempRoute.AvgSpeed        = int.Parse(rowRoute["AverageSpeed"].ToString());
                tempRoute.FuelConsumption = int.Parse(rowRoute["FuelConsumption"].ToString());

                routes.Add(tempRoute);
            }

            SetField();
        }
예제 #7
0
        // GET: TravelOrders/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TravelOrder travelOrder = db.TravelOrders.Find(id);

            if (travelOrder == null)
            {
                return(HttpNotFound());
            }
            return(View(travelOrder));
        }
 public ActionResult Add(TravelOrder t)
 {
     if (ModelState.IsValid)
     {
         repo.AddTravelOrder(t);
         return(RedirectToAction("All"));
     }
     else
     {
         ViewBag.types   = repo.GetTravelOrderTypes();
         ViewBag.drivers = repo.GetDrivers();
         ViewBag.cities  = repo.GetCities();
         ViewBag.car     = repo.GetCars();
         return(View(t));
     }
 }
예제 #9
0
        protected void btnImportXML_Click(object sender, EventArgs e)
        {
            DataSet ds = new DataSet();

            ds.ReadXml(MapPath("App_Data/routes.xml"));

            orders.Clear();
            routes.Clear();

            foreach (DataRow rowDrzava in ds.Tables["TravelOrder"].Rows)
            {
                TravelOrder tempOrder = new TravelOrder();

                tempOrder.Id             = int.Parse(rowDrzava["Id"].ToString());
                tempOrder.OrderStatus    = int.Parse(rowDrzava["OrderStatus"].ToString());
                tempOrder.VehicleID      = int.Parse(rowDrzava["VehicleID"].ToString());
                tempOrder.DriverID       = int.Parse(rowDrzava["UserID"].ToString());
                tempOrder.VehicleStartKM = long.Parse(rowDrzava["Vehicle_km_start"].ToString());
                tempOrder.VehicleEndKM   = Utils.ParseNullable <long>(rowDrzava["Vehicle_km_end"].ToString());
                tempOrder.StartingCity   = rowDrzava["Starting_city"].ToString();
                tempOrder.FinishCity     = rowDrzava["Finish_city"].ToString();
                tempOrder.TotalDays      = int.Parse(rowDrzava["Total_days"].ToString());
                tempOrder.StartingDate   = DateTime.Parse(rowDrzava["StartingDate"].ToString());
                tempOrder.StartingDate   = DateTime.Parse(rowDrzava["StartingDate"].ToString());

                orders.Add(tempOrder);
            }
            foreach (DataRow rowRoute in ds.Tables["Route"].Rows)
            {
                Route tempRoute = new Route();
                tempRoute.Id              = int.Parse(rowRoute["Id"].ToString());
                tempRoute.TravelOrder     = orders.Find(x => x.Id == int.Parse(rowRoute["TravelOrderID"].ToString()));
                tempRoute.DateStart       = DateTime.Parse(rowRoute["DateStart"].ToString());
                tempRoute.DateEnd         = DateTime.Parse(rowRoute["DateEnd"].ToString());
                tempRoute.StartCoordinate = rowRoute["StartCoordinate"].ToString();
                tempRoute.EndCoordinate   = rowRoute["EndCoordinate"].ToString();
                tempRoute.DistanceCrossed = int.Parse(rowRoute["DistanceCrossed"].ToString());
                tempRoute.AvgSpeed        = int.Parse(rowRoute["AverageSpeed"].ToString());
                tempRoute.FuelConsumption = int.Parse(rowRoute["FuelConsumption"].ToString());

                routes.Add(tempRoute);
            }

            SetField();
        }
예제 #10
0
 public ActionResult EditTravelOrder(TravelOrder travelOrder)
 {
     manager.EditTravelOrder(travelOrder);
     return(RedirectToAction("GetTravelOrders"));
 }
예제 #11
0
        public IEnumerable <TravelOrder> FilterTravelOrders(int filterID)
        {
            using (SqlConnection con = new SqlConnection(cs))
            {
                con.Open();

                using (SqlCommand cmd = con.CreateCommand())
                {
                    cmd.CommandText = FILTER_TRAVEL_ORDERS;
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@filterId", filterID);

                    using (SqlDataReader r = cmd.ExecuteReader())
                    {
                        while (r.Read())
                        {
                            TravelOrder t = new TravelOrder();
                            t.IDTravelOrder   = (int)r[nameof(TravelOrder.IDTravelOrder)];
                            t.TravelOrderNo   = r[nameof(TravelOrder.TravelOrderNo)].ToString();
                            t.TravelOrderDate = Convert.ToDateTime(r[nameof(TravelOrder.TravelOrderDate)]);
                            t.DateOfDeparture = Convert.ToDateTime(r[nameof(TravelOrder.DateOfDeparture)]);
                            t.StartTime       = GetSqlTime(r[nameof(TravelOrder.StartTime)].ToString());
                            t.EndTime         = GetSqlTime(r[nameof(TravelOrder.EndTime)].ToString());
                            t.Driver          = new Driver()
                            {
                                IDDriver  = (int)r[nameof(Driver.IDDriver)],
                                Name      = r[nameof(Driver.Name)].ToString(),
                                Surname   = r[nameof(Driver.Surname)].ToString(),
                                Mobile    = r[nameof(Driver.Mobile)].ToString(),
                                LicenceNo = r[nameof(Driver.LicenceNo)].ToString()
                            };
                            t.Vehicle = new Vehicle()
                            {
                                IDVehicle = (int)r[nameof(Vehicle.IDVehicle)],
                                Type      = r[nameof(Vehicle.Type)].ToString(),
                                Brand     = new Brand()
                                {
                                    IDBrand = (int)r[nameof(Brand.IDBrand)],
                                    Name    = r[nameof(Brand.Name)].ToString()
                                },
                                YearOfProduction  = (int)r[nameof(Vehicle.YearOfProduction)],
                                InitialKilometers = (double)r[nameof(Vehicle.InitialKilometers)],
                                IsAvailable       = (bool)r[nameof(Vehicle.IsAvailable)]
                            };
                            t.DestinationStart       = r[nameof(TravelOrder.DestinationStart)].ToString();
                            t.DestinationEnd         = r[nameof(TravelOrder.DestinationEnd)].ToString();
                            t.BeginningCounterStatus = (double)r[nameof(TravelOrder.BeginningCounterStatus)];
                            t.EndCounterStatus       = (double)r[nameof(TravelOrder.EndCounterStatus)];
                            t.TravelOrderType        = new TravelOrderType()
                            {
                                IDTravelOrderType = (int)r[nameof(TravelOrderType.IDTravelOrderType)],
                                Type = r[nameof(TravelOrderType.Type)].ToString()
                            };
                            t.DailyAllowance = new DailyAllowance()
                            {
                                IDDailyAllowance = (int)r[nameof(DailyAllowance.IDDailyAllowance)],
                                DaysHoursValue   = r[nameof(DailyAllowance.DaysHoursValue)].ToString(),
                                Price            = (decimal)r[nameof(DailyAllowance.Price)]
                            };

                            yield return(t);
                        }
                    }
                }
            }
        }
예제 #12
0
 public void EditTravelOrder(TravelOrder travelOrder)
 {
     repo.EditTravelOrder(travelOrder);
 }
예제 #13
0
 public void AddTravelOrder(TravelOrder travelOrder)
 {
     repo.AddTravelOrder(travelOrder);
 }
예제 #14
0
        private void ReadTravelOrder(XmlReader reader)
        {
            TravelOrder to = new TravelOrder();

            to.IDTravelOrder = int.Parse(reader.GetAttribute(nameof(TravelOrder.IDTravelOrder)));

            if (reader.ReadToFollowing(nameof(TravelOrder.TravelOrderNo)))
            {
                to.TravelOrderNo = reader.ReadElementContentAsString();
            }

            if (reader.ReadToFollowing(nameof(TravelOrder.Driver.IDDriver)))
            {
                to.Driver = manager.GetDriver(reader.ReadElementContentAsInt());
            }

            if (reader.ReadToFollowing(nameof(TravelOrder.Vehicle.IDVehicle)))
            {
                to.Vehicle = manager.GetVehicle(reader.ReadElementContentAsInt());
            }

            DateTime date = new DateTime();

            if (reader.ReadToFollowing(nameof(TravelOrder.TravelOrderDate)))
            {
                //   to.TravelOrderDate = DateTime.ParseExact(reader.ReadElementContentAsString(), "dd/MM/yyyy",null);
                // to.TravelOrderDate = reader.ReadElementContentAsDateTime();
                date = XmlConvert.ToDateTime(reader.ReadElementContentAsString());
                //to.TravelOrderDate =DateTime.TryParse(reader.ReadElementContentAsString(), ;
            }

            if (reader.ReadToFollowing(nameof(TravelOrder.DateOfDeparture)))
            {
                //  to.DateOfDeparture = DateTime.ParseExact(reader.ReadElementContentAsString(), "dd/MM/yyyy", null);
                to.DateOfDeparture = reader.ReadElementContentAsDateTime();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.StartTime)))
            {
                // to.StartTime = DateTime.ParseExact(reader.ReadElementContentAsString(), "HH:mm", CultureInfo.InvariantCulture);
                to.StartTime = reader.ReadElementContentAsDateTime();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.EndTime)))
            {
                // to.EndTime = DateTime.ParseExact(reader.ReadElementContentAsString(), "HH:mm", CultureInfo.InvariantCulture);
                to.EndTime = reader.ReadElementContentAsDateTime();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.DestinationStart)))
            {
                to.DestinationStart = reader.ReadElementContentAsString();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.DestinationEnd)))
            {
                to.DestinationEnd = reader.ReadElementContentAsString();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.BeginningCounterStatus)))
            {
                to.BeginningCounterStatus = reader.ReadElementContentAsDouble();
            }
            if (reader.ReadToFollowing(nameof(TravelOrder.EndCounterStatus)))
            {
                to.EndCounterStatus = reader.ReadElementContentAsDouble();
            }

            TravelOrderType type = new TravelOrderType();

            if (reader.ReadToFollowing(nameof(TravelOrder.TravelOrderType.IDTravelOrderType)))
            {
                int id = reader.ReadElementContentAsInt();
                type = manager.GetTravelOrderTypes().Where(t => t.IDTravelOrderType == id).First();
            }
            DailyAllowance dailyAllowance = new DailyAllowance();

            if (reader.ReadToFollowing(nameof(TravelOrder.DailyAllowance.IDDailyAllowance)))
            {
                int id = reader.ReadElementContentAsInt();
                dailyAllowance = manager.GetDailyAllowances().Where(t => t.IDDailyAllowance == id).First();
            }

            to.TravelOrderType = type;
            to.DailyAllowance  = dailyAllowance;
            to.TravelOrderDate = new DateTime(date.Year, date.Month, date.Day);
            manager.AddTravelOrder(to);
        }