Example #1
0
        public async Task <IActionResult> Edit(string id, [Bind("PoleId,PoleUid,FeederLineUid,SurveyDate,RouteCode,FeederLineId,SurveyorName,PoleNo,PreviousPoleNo,Latitude,Longitude,PoleTypeId,PoleConditionId,LineTypeId,BackSpan,TypeOfWireId,NoOfWireHt,NoOfWireLt,WireLength,WireConditionId,MSJNo,SleeveNo,TwistNo,PhaseAId,PhaseBId,PhaseCId,Neutral,StreetLight,SourceCableId,TargetCableId,TransformerExist,CommonPole,Tap")] TblPole tblPole, string surveyDate)
        {
            var feederLineId = id.Substring(0, 11);

            if (id != tblPole.PoleId)
            {
                return(NotFound());
            }

            double latA  = Convert.ToDouble(tblPole.Latitude);
            double longA = Convert.ToDouble(tblPole.Longitude);
            double latB  = Convert.ToDouble(_context.TblPole.Where(i => i.PoleId == tblPole.PreviousPoleNo).Select(i => i.Latitude).SingleOrDefault());
            double longB = Convert.ToDouble(_context.TblPole.Where(i => i.PoleId == tblPole.PreviousPoleNo).Select(i => i.Longitude).SingleOrDefault());

            var poleDistance = GetPoleDistance(latA, longA, latB, longB);

            if (poleDistance > 500)
            {
                TempData["statuMessageError"] = "Pole Distance is " + poleDistance.ToString("#.##") + "! Pole distance can not more  then 500 miter";
                //return RedirectToAction("Create");
            }
            else
            {
                tblPole.WireLength = poleDistance;
                tblPole.BackSpan   = poleDistance.ToString("#.##");


                if (ModelState.IsValid)
                {
                    try
                    {
                        string UpdatePoleId = _context.TblPole.Where(i => i.PreviousPoleNo == tblPole.PreviousPoleNo).Select(i => i.PoleId).FirstOrDefault();
                        _context.Update(tblPole);
                        await _context.SaveChangesAsync();

                        if (Convert.ToInt64(tblPole.PreviousPoleNo) != (Convert.ToInt64(tblPole.PoleId) - 1))
                        {
                            var findPoleInfo = await _context.TblPole.FindAsync(UpdatePoleId);

                            findPoleInfo.PreviousPoleNo = tblPole.PoleId;
                            _context.Update(findPoleInfo);
                            await _context.SaveChangesAsync();
                        }
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!TblPoleExists(tblPole.PoleId))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    TempData["statuMessageSuccess"] = "Pole has been updated successfully";
                    return(RedirectToAction(nameof(Index)));
                }
            }

            ViewData["LineTypeId"]      = new SelectList(_context.LookUpLineType, "Code", "Name");
            ViewData["TypeOfWireId"]    = new SelectList(_context.LookUpTypeOfWire, "Code", "Name");
            ViewData["PhaseAId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PhaseBId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PhaseCId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PoleConditionId"] = new SelectList(_context.LookUpPoleCondition, "PoleConditionId", "Name");
            ViewData["FeederLineId"]    = new SelectList(_context.TblFeederLine.Where(i => i.FeederLineId == feederLineId), "FeederLineId", "FeederName");
            ViewData["RouteCode"]       = new SelectList(_context.LookUpRouteInfo.Where(i => i.RouteCode == feederLineId.Substring(0, 9)), "RouteCode", "RouteName");
            ViewData["SourceCableId"]   = new SelectList(_context.TblFeederLine, "FeederLineId", "FeederName");
            ViewData["TargetCableId"]   = new SelectList(_context.TblFeederLine, "FeederLineId", "FeederName");
            ViewData["PoleTypeId"]      = new SelectList(_context.LookUpPoleType, "PoleTypeId", "Name");
            ViewData["WireConditionId"] = new SelectList(_context.LookUpCondition, "Code", "Name");
            ViewData["PreviousPoleNo"]  = new SelectList(_context.TblPole.Where(i => i.PoleId.Substring(0, 11).Contains(feederLineId)), "PoleId", "PoleId");
            return(View(tblPole));
        }
Example #2
0
        public async Task <IActionResult> Create([Bind("PoleId,PoleUid,FeederLineUid,SurveyDate,RouteCode,FeederLineId,SurveyorName,PoleNo,PreviousPoleNo,Latitude,Longitude,PoleTypeId,PoleConditionId,LineTypeId,BackSpan,TypeOfWireId,NoOfWireHt,NoOfWireLt,WireLength,WireConditionId,MSJNo,SleeveNo,TwistNo,PhaseAId,PhaseBId,PhaseCId,Neutral,StreetLight,SourceCableId,TargetCableId,TransformerExist,CommonPole,Tap")] TblPole tblPole, string surveyDate)
        {
            double latA  = Convert.ToDouble(tblPole.Latitude);
            double longA = Convert.ToDouble(tblPole.Longitude);
            double latB  = Convert.ToDouble(_context.TblPole.Where(i => i.PoleId == tblPole.PreviousPoleNo).Select(i => i.Latitude).SingleOrDefault());
            double longB = Convert.ToDouble(_context.TblPole.Where(i => i.PoleId == tblPole.PreviousPoleNo).Select(i => i.Longitude).SingleOrDefault());

            var poleDistance = GetPoleDistance(latA, longA, latB, longB);

            if (poleDistance > 500)
            {
                TempData["statuMessageError"] = "Pole Distance is " + poleDistance.ToString("#.##") + "! Pole distance can not more  then 500 miter";
                //return RedirectToAction("Create");
            }
            else
            {
                tblPole.WireLength = poleDistance;
                tblPole.BackSpan   = poleDistance.ToString("#.##");

                if (ModelState.IsValid)
                {
                    try
                    {
                        string UpdatePoleId = _context.TblPole.Where(i => i.PreviousPoleNo == tblPole.PreviousPoleNo).Select(i => i.PoleId).FirstOrDefault();
                        _context.Add(tblPole);
                        await _context.SaveChangesAsync();

                        //Update Pole After Inserting New pole Between Existing Pole
                        if (Convert.ToInt64(tblPole.PreviousPoleNo) != (Convert.ToInt64(tblPole.PoleId) - 1))
                        {
                            var findPoleInfo = await _context.TblPole.FindAsync(UpdatePoleId);

                            findPoleInfo.PreviousPoleNo = tblPole.PoleId;
                            _context.Update(findPoleInfo);
                            await _context.SaveChangesAsync();
                        }

                        TempData["statuMessageSuccess"] = "Pole has been added successfully";

                        return(RedirectToAction(nameof(Index)));
                    }
                    catch (Exception ex)
                    {
                        TempData["statuMessageError"] = ex.Message;
                    }
                }
            }



            ViewData["LineTypeId"]      = new SelectList(_context.LookUpLineType, "Code", "Name");
            ViewData["TypeOfWireId"]    = new SelectList(_context.LookUpTypeOfWire, "Code", "Name");
            ViewData["PhaseAId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PhaseBId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PhaseCId"]        = new SelectList(_context.LookUpSagCondition, "SagConditionId", "Name");
            ViewData["PoleConditionId"] = new SelectList(_context.LookUpPoleCondition, "PoleConditionId", "Name");
            ViewData["FeederLineId"]    = new SelectList(_context.TblFeederLine, "FeederLineId", "FeederName");
            ViewData["RouteCode"]       = new SelectList(_context.LookUpRouteInfo, "RouteCode", "RouteName");
            ViewData["SourceCableId"]   = new SelectList(_context.TblFeederLine, "FeederLineId", "FeederName");
            ViewData["TargetCableId"]   = new SelectList(_context.TblFeederLine, "FeederLineId", "FeederName");
            ViewData["PoleTypeId"]      = new SelectList(_context.LookUpPoleType, "PoleTypeId", "Name");
            ViewData["WireConditionId"] = new SelectList(_context.LookUpCondition, "Code", "Name");
            var poleIdList = _context.TblPole.AsNoTracking().Select(pi => new SelectListItem()
            {
                Text = pi.PoleId, Value = pi.PoleId
            }).ToList();

            ViewData["PreviousPoleId"] = poleIdList;

            //ViewData["PreviousPoleId"] = new SelectList(_context.TblPole, "PoleId", "PoleId");
            ViewData["ZoneCode"] = new SelectList(_context.LookUpZoneInfo.OrderBy(d => d.ZoneCode), "ZoneCode", "ZoneName");
            return(View(tblPole));
        }