public ActionResult AddEditCoWorkerSegment(SegmentViewModel model)
 {
     if (model.isAddMode == false)
     {
         JavaScriptSerializer js = new JavaScriptSerializer();
         model.CoworkerQueList = js.Deserialize <List <CoworkerQuestionModel> >(model.JsonQuestionString);
         //foreach (var item in model.CoworkerQueList)
         //{
         //    if (item.FiledId != null)
         //    {
         //        int CoreFiledid = Convert.ToInt32(item.FiledId);
         //        var coreData = _db.SystemListValues.Where(x => x.Id == CoreFiledid).FirstOrDefault();
         //        item.FiledId = Convert.ToString(coreData.Id);
         //    }
         //    if (item.CValue != null)
         //    {
         //        int CoreValueid = Convert.ToInt32(item.CValue);
         //        var coreValueData = _db.SystemListValues.Where(x => x.Id == CoreValueid).FirstOrDefault();
         //        item.CValue = Convert.ToString(coreValueData.Id);
         //    }
         // }
     }
     else
     {
         model.SegmentId = 0;
     }
     return(PartialView("_partialAddEditCoWorkerSegment", model));
 }
示例#2
0
        public IActionResult Create(SegmentViewModel segment)
        {
            // If the submitted Segment form is valid
            if (ModelState.IsValid)
            {
                // Creating the new Segment instance
                Segment newSegment = new Segment
                {
                    distance = segment.distance,
                    feature  = segment.feature
                };
                // Tying the Segment to the current Border via Border Id
                newSegment.BorderId = HttpContext.Session.GetInt32("BorderId");
                _context.Segments.Add(newSegment);
                _context.SaveChanges();


                // Staying on Segment creation page to allow for additional segments - "border product consists of 1 to n steps"
                return(RedirectToAction("SegmentCreator"));
            }
            else
            {
                return(View("SegmentCreator", segment));
            }
        }
示例#3
0
        public void Update(SegmentViewModel model)
        {
            var data = _context.AsQueryable <Data.Entities.Segment>().Where(x => x.ID == model.ID).FirstOrDefault();

            if (data == null)
            {
                throw new ArgumentException("Data does not exists.");
            }

            //check if lob already exists
            if (data.Name != model.Name || data.SegmentCategoryID != model.SegmentCategoryID)
            {
                var dataExists = _context.AsQueryable <Data.Entities.Segment>().Where(x => x.Name == model.Name && x.SegmentCategoryID == model.SegmentCategoryID && x.Active == true).FirstOrDefault();
                if (dataExists != null)
                {
                    throw new ArgumentException("Segment name already exists in Segment Category.");
                }
            }

            data.Name = model.Name ?? data.Name;
            data.SegmentCategoryID = model.SegmentCategoryID;
            data.SortOrder         = model.SortOrder ?? data.SortOrder;
            data.ModifiedBy        = model.ModifiedBy;
            data.DateModified      = model.DateModified ?? DateTime.Now;
            data.Active            = model.Active ?? data.Active;
            data.Visible           = model.Visible ?? data.Visible;

            _context.Update <Data.Entities.Segment>(data);
            _context.SaveChanges();
        }
示例#4
0
        // In this simple test we check if the number
        // of the segments in the database is incremented
        // when we add try to add a line

        public void TestAddLine()
        {
            //Arrange
            var segment = new SegmentViewModel
            {
                Line1          = "Dummy",
                Line2          = "Dummy",
                Original1      = "Dummy",
                Original2      = "Dummy",
                TranslationID  = 1,
                TimestampEnd   = "00:06:30,000",
                TimestampStart = "00:06:10,000",
            };
            var mockUnitOfWork = new MockUnitOfWork();

            for (int i = 0; i < 3; i++)
            {
                var reposegment = new TranslationSegment();
                mockUnitOfWork.TranslationSegmentRepository.Insert(reposegment);
            }
            ;


            var controller  = new TranslationController(mockUnitOfWork);
            int countbefore = mockUnitOfWork.TranslationSegmentRepository.Get().ToList().Count;
            // Act
            var result = controller.AddLine(segment);

            // Assert
            Assert.IsTrue(mockUnitOfWork.TranslationSegmentRepository.Get().ToList().Count == countbefore + 1);
        }
示例#5
0
        public ActionResult AddLine(int?Id)
        {
            var segment = new SegmentViewModel {
                TranslationID = Id.Value
            };

            return(View(segment));
        }
示例#6
0
        public Segment(NavigationPage topNavigationPage, Biketimer.BiketimerApiServer.Entities.Segment segment)
        {
            _topNavigationPage = topNavigationPage;

            var segmentViewModel = new SegmentViewModel(segment);
            BindingContext = segmentViewModel;

            InitializeComponent();
        }
示例#7
0
        public ActionResult AddSegment(int Id)
        {
            var viewModel = new SegmentViewModel();

            var experiment = experimentRepository.Get(Id);

            viewModel.ExperimentName = experiment.Name;
            viewModel.Variables      = experiment.Variables;
            viewModel.ExperimentId   = experiment.Id;

            return(View(viewModel));
        }
示例#8
0
        public ActionResult Create([Bind(Include = "SegmentId,CarSegment")] SegmentViewModel segment)
        {
            if (ModelState.IsValid)
            {
                //db.Segments.Add(segment);
                //db.SaveChanges();
                _segmentHandler.Add(segment.CreateSegmentDomain());
                _segmentHandler.Commit();
                return(RedirectToAction("Index"));
            }

            return(View(segment));
        }
示例#9
0
        public ActionResult Edit([Bind(Include = "SegmentId,CarSegment")] SegmentViewModel segment)
        {
            if (ModelState.IsValid)
            {
                //db.Entry(segment).State = EntityState.Modified;
                //db.SaveChanges();
                _segmentHandler.Update(segment.CreateSegmentDomain());
                _segmentHandler.Commit();

                return(RedirectToAction("Index"));
            }
            return(View(segment));
        }
示例#10
0
        // GET: Segments/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //SegmentViewModel segment = db.Segments.Find(id);
            SegmentViewModel segment = _segmentHandler.GetById(id.Value).CreateSegmentViewModel();

            if (segment == null)
            {
                return(HttpNotFound());
            }
            return(View(segment));
        }
示例#11
0
        public ActionResult UpdateSegment(int experimentId, int segmentId)
        {
            var viewModel = new SegmentViewModel();

            var experiment = experimentRepository.Get(experimentId);
            var segment    = experiment.Segments.FirstOrDefault(a => a.Id == segmentId);

            viewModel.Segment = segment;

            viewModel.ExperimentName = experiment.Name;
            viewModel.Variables      = experiment.Variables;
            viewModel.ExperimentId   = experiment.Id;

            return(View(viewModel));
        }
 public async Task <IActionResult> Search([FromBody] SegmentViewModel svm)
 {
     try
     {
         return(Ok(await segRepo.GetSegmentByParams(svm)));
     }
     catch (CustomException cex)
     {
         var responseObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString());
         return(StatusCode(StatusCodes.Status500InternalServerError, responseObj));
     }
     catch (Exception ex)
     {
         return(Ok(new EmaintenanceMessage(ex.Message)));
     }
 }
示例#13
0
        public async Task <IEnumerable <dynamic> > GetSegmentByParams(SegmentViewModel svm)
        {
            string sql = "dbo.EAppListSegment";

            using (var conn = util.MasterCon())
            {
                try
                {
                    return(await(conn.QueryAsync <dynamic>(sql, new { svm.LanguageId, svm.SectorId, svm.Status }, commandType: CommandType.StoredProcedure)));
                }
                catch (Exception ex)
                {
                    throw new CustomException("Unable to Load Data, Please Contact Support!!!", "Error", true, ex);
                }
            }
        }
        public ActionResult Save(SegmentViewModel data)
        {
            string     username = User.Identity.GetUserName();
            CommonView model    = new CommonView();

            try
            {
                if (data.ID == 0)
                {
                    SegmentViewModel segment = new SegmentViewModel();
                    //add
                    data.CreatedBy   = username;
                    data.DateCreated = DateTime.Now;

                    segment = _segmentService.Create(data);
                    if (segment.ID > 0)
                    {
                        model.Message = "Data added.";
                    }
                }
                else
                {
                    //update
                    data.DateModified = DateTime.Now;
                    data.ModifiedBy   = username;

                    _segmentService.Update(data);

                    model.Message = "Data updated.";
                }
            }
            catch (Exception ex)
            {
                if (ex.GetType() == typeof(ArgumentException))
                {
                    model.Message = ((ArgumentException)ex).Message;
                }
                else
                {
                    model.Message = "Unable to save data. Please contact your system administrator.";
                }
            }


            return(Json(model, JsonRequestBehavior.AllowGet));
        }
 public ActionResult AddEditCustomerSegment(SegmentViewModel model)
 {
     if (model.isAddMode == false)
     {
         JobRoleQuestionModel queModel = new JobRoleQuestionModel();
         if (!string.IsNullOrEmpty(model.JsonQuestionString))
         {
             JavaScriptSerializer js = new JavaScriptSerializer();
             model.CustomerQueList = js.Deserialize <List <CustomerQuestionModel> >(model.JsonQuestionString);
         }
     }
     else
     {
         model.SegmentId = 0;
     }
     return(PartialView("_partialAddEditCustomerSegment", model));
 }
示例#16
0
        public ActionResult AddLine(SegmentViewModel segment)
        {
            if (ModelState.IsValid)
            {
                string startTime = segment.TimestampStart;
                int    insertPos = 1;
                var    segments  = _unitOfWork.TranslationSegmentRepository.Get()
                                   .Where(ts => ts.TranslationID == segment.TranslationID)
                                   .OrderBy(ts => ts.SegmentID)
                                   .ToList();

                // Find the insert position
                for (int i = 0; i < segments.Count; i++)
                {
                    string tmp = segments.ElementAt(i).Timestamp.Substring(0, 12);
                    if (string.Compare(tmp, startTime) > 0)
                    {
                        insertPos = segments.ElementAt(i).SegmentID;
                        break;
                    }
                    insertPos = segments.ElementAt(i).SegmentID + 1;
                }

                // increment segmentId on all segments with segmentId greater than the new segment
                for (int i = insertPos; i <= segments.Count; i++)
                {
                    segments.ElementAt(i - 1).SegmentID++;
                }

                // Insert the new segment
                var translationSegment = new TranslationSegment
                {
                    Line1         = segment.Line1,
                    Line2         = segment.Line2,
                    Original1     = segment.Original1,
                    Original2     = segment.Original2,
                    TranslationID = segment.TranslationID,
                    Timestamp     = segment.TimestampStart + " --> " + segment.TimestampEnd,
                    SegmentID     = insertPos
                };
                _unitOfWork.TranslationSegmentRepository.Insert(translationSegment);
                _unitOfWork.Save();
                return(RedirectToAction("Index", new { id = segment.TranslationID }));
            }
            return(View(segment));
        }
        public ActionResult Index()
        {
            ViewBag.Title = "Home Page";


            var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            serializer.MaxJsonLength = Int32.MaxValue;



            SegmentViewModel model = new SegmentViewModel();

            var segments = service.GetAllSegments().Select(a => new SegmentModel()
            {
                Id            = a.Id,
                Latitude      = a.Latitude,
                Longitude     = a.Longitude,
                NextSegmentId = a.NextSegmentId,
                speedAvg      = a.speedAvg,
                AvgSpentTime  = a.AvgSpentTime,
                speedVar      = a.speedVar,
                VarSpentTime  = a.VarSpentTime,
                samplesCount  = a.samplesCount
            }).ToList();

            var segmentsJson = serializer.Serialize(segments);

            model.SegmentsJson    = segmentsJson;
            model.AnomaliesCount  = anomalyService.GetAnomalyCount();
            model.ManualAnomalies = anomalyService.GetAllManualAnomalies().Select(a => new ManualAnomalyViewModel()
            {
                Id               = a.Id,
                CreationDate     = a.CreationDate.ToString(),
                SnappedLatitude  = a.SnappedLatitude,
                SnappedLongitude = a.SnappedLongitude,
                Type             = a.Type,
                SegmentId        = a.SegmentId
            }).ToList();


            return(View(model));
        }
 public async Task <IActionResult> Create([FromBody] SegmentViewModel svm)
 {
     try
     {
         CurrentUser cUser = new CurrentUser(HttpContext, _configuration);
         svm.UserId    = cUser.UserId;
         svm.SegmentId = 0;
         svm.Active    = "Y";
         return(Ok(await segRepo.SaveOrUpdate(svm)));
     }
     catch (CustomException cex)
     {
         var returnObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString());
         return(StatusCode(StatusCodes.Status500InternalServerError, returnObj));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, new EmaintenanceMessage(ex.Message)));
     }
 }
示例#19
0
        public ActionResult UpdateSegment(SegmentViewModel viewModel)
        {
            var experiment = experimentRepository.Get(viewModel.ExperimentId);

            try
            {
                if (ModelState.IsValid)
                {
                    viewModel.Segment.UpdatedBy    = HttpContext.User.Identity.Name;
                    viewModel.Segment.Variables    = new Dictionary <string, string>();
                    viewModel.Segment.ExperimentId = viewModel.ExperimentId;

                    foreach (var variable in experiment.Variables)
                    {
                        var varValue = Request["prop-" + variable];
                        if (!string.IsNullOrEmpty(varValue))
                        {
                            viewModel.Segment.Variables.Add(variable, varValue);
                        }
                    }

                    viewModel.Segment = experimentRepository.UpdateSegment(viewModel.Segment);
                    return(Redirect("/Experiments/Update?Id=" + experiment.Id));
                }
                else
                {
                    ViewBag.ErrorMessage = "There is a problem with one of your responses.";
                }
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMessage = "An Error Occurred while attempting to save that segment.";
            }


            viewModel.ExperimentName = experiment.Name;
            viewModel.Variables      = experiment.Variables;
            viewModel.ExperimentId   = experiment.Id;

            return(View(viewModel));
        }
示例#20
0
        public SegmentViewModel Create(SegmentViewModel model)
        {
            var dataExists = _context.AsQueryable <Data.Entities.Segment>().Where(x => x.Name == model.Name && x.Active == true && x.SegmentCategoryID == model.SegmentCategoryID).FirstOrDefault();

            if (dataExists != null)
            {
                throw new ArgumentException("Segment name already exists in segment category.");
            }

            var sortOrder = 0;
            var lastData  = _context.AsQueryable <Data.Entities.Segment>().Where(x => x.Active == true && x.SegmentCategoryID == model.SegmentCategoryID).OrderByDescending(x => x.SortOrder).FirstOrDefault();

            if (lastData != null)
            {
                sortOrder = lastData.SortOrder + 1;
            }

            var data = new Data.Entities.Segment()
            {
                Name = model.Name,
                SegmentCategoryID = model.SegmentCategoryID,
                SortOrder         = sortOrder,
                CreatedBy         = model.CreatedBy,
                ModifiedBy        = null,
                DateCreated       = model.DateCreated ?? DateTime.Now,
                DateModified      = null,
                Active            = model.Active ?? true,
                Visible           = model.Visible ?? true
            };

            _context.Add <Data.Entities.Segment>(data);
            _context.SaveChanges();

            model.ID      = data.ID;
            model.Active  = data.Active;
            model.Visible = data.Visible;
            return(model);
        }
示例#21
0
        public async Task <IEnumerable <dynamic> > SaveOrUpdate([FromBody] SegmentViewModel svm)
        {
            string sql = "dbo.EAppSaveSegment";

            using (var conn = util.MasterCon())
            {
                try
                {
                    return(await(conn.QueryAsync <dynamic>(sql, new
                    {
                        svm.SegmentId,
                        svm.SectorId,
                        svm.LanguageId,
                        svm.SegmentCode,
                        svm.SegmentName,
                        svm.Descriptions,
                        svm.Active,
                        svm.UserId
                    }, commandType: CommandType.StoredProcedure)));
                }
                catch (SqlException sqlException)
                {
                    if (sqlException.Number == 2601 || sqlException.Number == 2627)
                    {
                        throw new CustomException("Duplicate", "Segment Code already Exists.", "Error", true, sqlException);
                    }
                    else
                    {
                        throw new CustomException("Due to some Technical Reason, Unable to Save or Update", "Error", true, sqlException);
                    }
                }
                catch (Exception ex)
                {
                    throw new CustomException("Unable to Save Or Update, Please Contact Support!!!", "Error", true, ex);
                }
            }
        }