public static InfringementResource Map(infringement infringement)
        {
            return(new InfringementResource
            {
                Amount = infringement.Amount,
                Building = Map(infringement.parking_location),
                CarMake = Map(infringement.make),
                CarModel = Map(infringement.ModelId.Value),
                Comment = infringement.Comment,
                InfringementNumber = infringement.Number,
                InfringementTime = infringement.IncidentTime.ToString("yyyy-MM-dd H:mm:ss zzz"),
                InfringementType = Map(infringement.infringementtype),
                Latitude = infringement.Latitude,
                Longitude = infringement.Longitude,
                Rego = infringement.Rego,
                UserName = infringement.User,
                UploadTime = infringement.UploadTime.Value.ToString("yyyy-MM-dd H:mm:ss zzz"),

                OtherMake = infringement.OtherMake,
                OtherModel = infringement.OtherModel,
                DueDate = infringement.DueDate.Value,
                AfterDueDate = infringement.AfterDueDate.Value,

                Name = infringement.OwnerName,
                Street1 = infringement.Street1,
                Street2 = infringement.Street2,
                Suburb = infringement.Suburb,
                PostCode = infringement.PostCode,
                CountryId = infringement.CountryId,
                CityName = infringement.CityName,
                OtherInfringementType = infringement.OtherInfringementType,
                // CityId = infringement.CityId.Value
            });
        }
        public static infringement MapInfringementForDisplayDelete(infringement model)
        {
            return(new infringement
            {
                Amount = model.Amount,
                Comment = model.Comment,
                IncidentTime = model.IncidentTime,
                InfringementTypeId = model.InfringementTypeId,
                Latitude = model.Latitude,
                Longitude = model.Longitude,
                MakeId = model.MakeId ?? 0,
                ModelId = model.ModelId ?? 0,
                OtherMake = model.OtherMake,
                OtherModel = model.OtherModel,
                Number = model.Number,
                ParkingLocationId = model.ParkingLocationId,
                Rego = model.Rego,
                User = model.User,
                StatusId = model.StatusId,


                DueDate = model.DueDate,
                AfterDueDate = model.AfterDueDate,

                OwnerName = model.OwnerName,
                Street1 = model.Street1,
                Suburb = model.Suburb,
                PostCode = model.PostCode,
                CountryId = model.CountryId,
                CityName = model.CityName,
                OtherInfringementType = model.OtherInfringementType
            });
        }
        public static void MapInfringementForEdit(InfringementModel model, infringement entity)
        {
            entity.Amount = model.Amount;
            if (entity.Comment != null && entity.Comment != "")
            {
                entity.Comment = model.Comment.Trim();
            }
            else
            {
                entity.Comment = model.Comment;
            }
            entity.IncidentTime       = model.IncidentTime;
            entity.InfringementTypeId = model.InfringementTypeId;
            if (model.Latitude != null && model.Latitude != "")
            {
                entity.Latitude = model.Latitude.Trim();
            }
            else
            {
                entity.Latitude = model.Latitude;
            }
            if (model.Longitude != null && model.Longitude != "")
            {
                entity.Longitude = model.Longitude.Trim();
            }
            else
            {
                entity.Longitude = model.Longitude;
            }
            entity.MakeId = model.MakeId;
            //entity.Model = model.CarModel;
            entity.ModelId           = model.ModelId;
            entity.OtherModel        = model.OtherModel;
            entity.OtherMake         = model.OtherMake;
            entity.ParkingLocationId = model.ParkingLocationId;
            entity.Rego     = model.Rego;
            entity.StatusId = model.StatusId;

            entity.OtherMake    = model.OtherMake;
            entity.OtherModel   = model.OtherModel;
            entity.DueDate      = model.IncidentTime.AddDays(21);
            entity.AfterDueDate = entity.Amount + 20;

            entity.OwnerName             = model.Name;
            entity.Street1               = model.Street1;
            entity.Street2               = model.Street2;
            entity.Suburb                = model.Suburb;
            entity.PostCode              = model.PostCode;
            entity.CountryId             = model.CountryId;
            entity.CityName              = model.CityName;
            entity.OtherInfringementType = model.OtherInfringementType;
            entity.User = model.User;
        }
Ejemplo n.º 4
0
        public static infringement Map(InfringementRequest request)
        {
            infringement Infringement = new infringement();

            DateTime dt = new DateTime();

            string[] startdatetime = request.InfringementTime.Split(' ');
            if (startdatetime.Length > 0)
            {
                string[] startdate = startdatetime[0].Split('-');
                string[] starttime = startdatetime[1].Split(':');
                dt = new DateTime(Convert.ToInt32(startdate[0]), Convert.ToInt32(startdate[1]), Convert.ToInt32(startdate[2]), Convert.ToInt32(starttime[0]), Convert.ToInt32(starttime[1]), Convert.ToInt32(starttime[2]));
            }

            DateTime d = Convert.ToDateTime(request.InfringementTime);

            Infringement.Amount             = request.Amount;
            Infringement.Comment            = request.Comment;
            Infringement.IncidentTime       = dt; // DateTime.ParseExact(request.InfringementTime, "dd/MM/yyyy HH:mm", null);
            Infringement.InfringementTypeId = request.InfringementTypeId;
            Infringement.Latitude           = request.Latitude;
            Infringement.Longitude          = request.Longitude;
            Infringement.MakeId             = request.CarMakeId;
            Infringement.Model             = request.CarModel;
            Infringement.Number            = request.InfringementNumber;
            Infringement.ParkingLocationId = request.BuildingId;
            Infringement.Rego       = request.Rego;
            Infringement.UploadTime = DateTime.Now;
            Infringement.User       = request.UserName;
            Infringement.StatusId   = (int)InfringementStatus.Pending;

            Infringement.OtherMake    = request.OtherMake;
            Infringement.OtherModel   = request.OtherModel;
            Infringement.DueDate      = dt.AddDays(21);
            Infringement.AfterDueDate = request.Amount + 20;

            Infringement.OwnerName             = request.Name;
            Infringement.Street1               = request.Street1;
            Infringement.Street2               = request.Street2;
            Infringement.Suburb                = request.Suburb;
            Infringement.PostCode              = request.PostCode;
            Infringement.CountryId             = request.CountryId;
            Infringement.CityName              = request.CityName;
            Infringement.OtherInfringementType = request.OtherInfringementType;
            Infringement.Pay = false;

            return(Infringement);
        }
Ejemplo n.º 5
0
        // GET: Infringements/Details/5
        public ActionResult Details(int?id)
        {
            using (log4net.NDC.Push("Infringement_Details"))
            {
                if (id == null)
                {
                    _logger.Warn("Bad request, infringemnet id is null");
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                infringement infringement = db.infringements.Find(id);
                if (infringement == null)
                {
                    _logger.Warn("Infringement not found");
                    return(HttpNotFound());
                }

                _logger.Info("Infringement found");
                return(View(infringement));
            }
        }
        public static infringement MapInfringementForCreate(InfringementModel model)
        {
            var entity = new infringement();

            var uploadTime = DateTime.Now;

            entity.UploadTime = uploadTime;
            model.StatusId    = (int)InfringementStatus.Pending;
            if (model.Number == null)
            {
                entity.Number = InfringementNumberGenerator.Generate(model.IncidentTime, model.User);
            }
            else
            {
                entity.Number = model.Number;
            }


            //string dateString = model.IncidentTime.ToString("yyyy-MM-dd hh:mm");

            //DateTime newdate = Convert.ToDateTime(dateString);
            //DateTime newdate1 = DateTime.Parse(dateString);
            //model.IncidentTime = newdate1;

            //DateTime dt = new DateTime();
            //DateTime dt1 = new DateTime(model.IncidentTime.Year, model.IncidentTime.Month, model.IncidentTime.Day, model.IncidentTime.Hour, model.IncidentTime.Minute, 0);
            //string[] startdatetime = dateString.ToString().Split(' ');
            //if (startdatetime.Length > 0)
            //{
            //    string[] startdate = startdatetime[0].Split('-');
            //    string[] starttime = startdatetime[1].Split(':');
            //    dt = new DateTime(Convert.ToInt32(startdate[0]), Convert.ToInt32(startdate[1]), Convert.ToInt32(startdate[2]), Convert.ToInt32(starttime[0]), Convert.ToInt32(starttime[1]), Convert.ToInt32(starttime[2]));
            //    model.IncidentTime = dt1;
            //    //entity.IncidentTime = dt;
            //}

            entity.User = model.User;
            MapInfringementForEdit(model, entity);
            return(entity);
        }
Ejemplo n.º 7
0
        // GET: Infringements/Edit/5
        public ActionResult Edit(int?id)
        {
            using (log4net.NDC.Push("Edit Infringemnet - GET"))
            {
                if (id == null)
                {
                    _logger.Warn("Cannot edit infringement as id was not sent across");
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }
                infringement infringement = db.infringements.Find(id);
                if (infringement == null)
                {
                    _logger.Warn("Infringement was not found for id" + id);
                    return(HttpNotFound());
                }
                _logger.Info("infringement found, setting up viewbag and returning view");

                ViewBag.Images = db.infringementpictures
                                 .Where(x => x.InfringementId == id)
                                 .Select(x => x.Location)
                                 .ToList();
                var infringementCity = db.parking_location
                                       .FirstOrDefault(x => x.Id == infringement.ParkingLocationId).CityId;
                ViewBag.Cities            = new SelectList(db.cities, "Id", "Name", infringementCity);
                ViewBag.Buildings         = new SelectList(db.parking_location, "Id", "Name", infringement.ParkingLocationId);
                ViewBag.Makes             = new SelectList(db.makes, "id", "Name", infringement.MakeId);
                ViewBag.InfringementTypes = new SelectList(db.infringementtypes, "Id", "Type", infringement.InfringementTypeId);
                ViewBag.Status            = new SelectList(db.infringementstatus, "Id", "Name", infringement.StatusId);
                var model = MvcModelToDatabaseModelMapper.MapInfringementForDisplay(infringement);
                ViewBag.IncidentTime = model.IncidentTime.ToString("dd/MM/yyyy HH:mm");
                ViewBag.Models       = new SelectList(db.carmodels.Where(x => x.Id == infringement.MakeId), "Id", "Name");
                ViewBag.Countries    = new SelectList(db.countries.OrderBy(x => x.CountryName), "Id", "CountryName");

                ViewBag.APIServerPath = System.Configuration.ConfigurationManager.AppSettings["APIServerPath"].ToString();
                return(View(model));
            }
        }
        public ActionResult Delete(int?id, FormCollection collection)
        {
            using (log4net.NDC.Push("Post_For_Delete"))
            {
                try
                {
                    infringement infringement = (from inf in _entities.infringements
                                                 where inf.ModelId == id.Value
                                                 select inf).FirstOrDefault();

                    if (infringement == null)
                    {
                        var entity = _entities.carmodels.Find(id);
                        _entities.carmodels.Remove(entity);
                        _entities.SaveChanges();
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        _logger.Warn("Error deleting car model");
                        //return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
                        ViewBag.ErrorMessage = "Referenced record can not be deleted.";
                        ModelState.AddModelError("", "Referenced record can not be deleted.");
                        return(View());
                    }
                }
                catch (Exception ex)
                {
                    _logger.Warn("Error deleting car model", ex);
                    //return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
                    ViewBag.ErrorMessage = "Referenced record can not be deleted.";
                    ModelState.AddModelError("", "Referenced record can not be deleted.");
                }
            }
            return(View());
        }
        public IHttpActionResult Post(InfringementRequest request)
        {
            try
            {
                var entity = new infringementEntities();

                user lUser = (from a in entity.users
                              where a.Email == request.LoginId && a.UserPassword == request.Password && a.IsActive == true
                              select a).FirstOrDefault();

                if (lUser != null)
                {
                    if (entity.infringements.FirstOrDefault(x => x.Number == request.InfringementNumber) != null)
                    {
                        //return BadRequest("Infringement already exists");
                        var error = "Infringement already exists with InfringementNumber:" + request.InfringementNumber;
                        return(BadRequest(error));
                    }
                    int infringementCity = entity.parking_location.FirstOrDefault(x => x.Id == request.BuildingId).CityId;

                    var carmodel1 = entity.carmodels.Where(x => x.Name == request.CarModel).FirstOrDefault();


                    infringement dbInfringement = RequestToEntityMapper.Map(request);
                    if (carmodel1 != null)
                    {
                        dbInfringement.ModelId = Convert.ToInt16(carmodel1.Id);
                    }

                    dbInfringement.CityId        = infringementCity;
                    dbInfringement.CreatedBy     = lUser.Id;
                    dbInfringement.CreatedDate   = System.DateTime.Now;
                    dbInfringement.Pay           = false;
                    dbInfringement.GeneratedFrom = 2;
                    entity.infringements.Add(dbInfringement);
                    entity.SaveChanges();

                    return(GetByInfringementNumber(request.InfringementNumber));
                }
                else
                {
                    var error = "Un-Authhorized access.  Please check your User details.";
                    return(Ok(error));
                }
            }

            catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
            {
                string errormsg = "";
                foreach (var validationErrors in dbEx.EntityValidationErrors)
                {
                    foreach (var validationError in validationErrors.ValidationErrors)
                    {
                        System.Diagnostics.Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        errormsg += validationError.PropertyName + " : " + validationError.ErrorMessage + ", ";
                    }
                }
                return(Ok(errormsg));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }