public async Task <IActionResult> Edit(string id, [Bind("ConsumersId,ServicesPointId,CustomerName,CustomerMobileNo,ConsumerNo,Tariff,PhasingCodeId,ConsumerTypeId,OperatingVoltageId,InstallDate,ConnectionStatusId,ConnectionTypeId,MeterTypeId,MeterNumber,MeterModel,MeterManufacturer,SanctionedLoad,ConnectedLoad,BusinessTypeId,OthersBusiness,AccountNumber,SpecialCode,SpecialType,LocationId,BillGroup,BookNumber,OmfKwh,MeterReading,ServiceCableSize,ServiceCableTypeId,CustomerAddress,PlotNo,BuildingApptNo,PremiseName,SurveyDate,Latitude,Longitude,StructureId,StructureMapNo,StructureTypeId,NumberOfFloor")] TblConsumerData tblConsumerData)
        {
            if (id != tblConsumerData.ConsumersId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tblConsumerData);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TblConsumerDataExists(tblConsumerData.ConsumersId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                TempData["statuMessageSuccess"] = "Consumer information has been updated successfully under service point id " + tblConsumerData.ServicesPointId;
                return(RedirectToAction("Index", "TblServicePoints"));
                //return RedirectToAction(nameof(Index));
            }

            //ViewData["DistributionTransformerId"] = new SelectList(_context.TblDistributionTransformer, "DistributionTransformerId", "DistributionTransformerId", tblConsumerData.DistributionTransformerId);
            ViewData["ServicePointId"]     = new SelectList(_context.TblServicePoint, "ServicesPointId", "ServicesPointId", tblConsumerData.ServicesPointId);
            ViewData["BusinessTypeId"]     = new SelectList(_context.LookUpBusinessType, "BusinessTypeId", "BusinessTypeName", tblConsumerData.BusinessTypeId);
            ViewData["ConnectionStatusId"] = new SelectList(_context.LookUpConnectionStatus, "ConnectionStatusId", "ConnectionStatusName", tblConsumerData.ConnectionStatusId);
            ViewData["ConnectionTypeId"]   = new SelectList(_context.LookUpConnectionType, "ConnectionTypeId", "ConnectionTypeName", tblConsumerData.ConnectionTypeId);
            ViewData["LocationId"]         = new SelectList(_context.LookUpLocation, "LocationId", "LocationName", tblConsumerData.LocationId);
            ViewData["MeterTypeId"]        = new SelectList(_context.LookUpMeterType, "MeterTypeId", "MeterTypeName", tblConsumerData.MeterTypeId);
            ViewData["OperatingVoltageId"] = new SelectList(_context.LookUpOperatingVoltage, "OperatingVoltageId", "OperatingVoltageName", tblConsumerData.OperatingVoltageId);
            ViewData["PhasingCodeId"]      = new SelectList(_context.LookUpPhasingCodeType, "PhasingCodeId", "PhasingCodeName", tblConsumerData.PhasingCodeId);
            ViewData["ServiceCableTypeId"] = new SelectList(_context.LookUpServiceCableType, "ServiceCableTypeId", "ServiceCableTypeName", tblConsumerData.ServiceCableTypeId);
            ViewData["StructureTypeId"]    = new SelectList(_context.LookUpStructureType, "StructureTypeId", "StructureTypeName", tblConsumerData.StructureTypeId);
            ViewData["ConsumerTypeId"]     = new SelectList(_context.LookUpConsumerType, "ConsumerTypeId", "ConsumerTypeName", tblConsumerData.ConsumerTypeId);
            return(View(tblConsumerData));
        }
        public async Task <IActionResult> Create([Bind("ConsumersId,ServicesPointId,CustomerName,CustomerMobileNo,ConsumerNo,Tariff,PhasingCodeId,ConsumerTypeId,OperatingVoltageId,InstallDate,ConnectionStatusId,ConnectionTypeId,MeterTypeId,MeterNumber,MeterModel,MeterManufacturer,SanctionedLoad,ConnectedLoad,BusinessTypeId,OthersBusiness,AccountNumber,SpecialCode,SpecialType,LocationId,BillGroup,BookNumber,OmfKwh,MeterReading,ServiceCableSize,ServiceCableTypeId,CustomerAddress,PlotNo,BuildingApptNo,PremiseName,SurveyDate,Latitude,Longitude,StructureId,StructureMapNo,StructureTypeId,NumberOfFloor")] TblConsumerData tblConsumerData)
        {
            string findId = _context.TblConsumerData.Where(i => i.ServicesPointId == tblConsumerData.ServicesPointId).OrderBy(u => u.ConsumersId).Select(u => u.ConsumersId).LastOrDefault();

            if (findId == null)
            {
                findId = tblConsumerData.ServicesPointId + "001";
            }
            else
            {
                int value = Convert.ToInt32(findId.Substring(findId.Length - 4)) + 1;
                findId = tblConsumerData.ServicesPointId + value.ToString().Substring(value.ToString().Length - 3);
            }


            if (ModelState.IsValid)
            {
                tblConsumerData.ConsumersId = findId;
                _context.Add(tblConsumerData);
                await _context.SaveChangesAsync();

                TempData["statuMessageSuccess"] = "Consumer information has been added successfully under service point id " + tblConsumerData.ServicesPointId;
                return(RedirectToAction("Index", "TblServicePoints"));
                // return RedirectToAction(nameof(Index));
            }
            // ViewData["DistributionTransformerId"] = new SelectList(_context.TblDistributionTransformer, "DistributionTransformerId", "DistributionTransformerId", tblConsumerData.DistributionTransformerId);
            ViewData["ServicePointId"]     = new SelectList(_context.TblServicePoint, "ServicesPointId", "ServicesPointId", tblConsumerData.ServicesPointId);
            ViewData["BusinessTypeId"]     = new SelectList(_context.LookUpBusinessType, "BusinessTypeId", "BusinessTypeName", tblConsumerData.BusinessTypeId);
            ViewData["ConnectionStatusId"] = new SelectList(_context.LookUpConnectionStatus, "ConnectionStatusId", "ConnectionStatusName", tblConsumerData.ConnectionStatusId);
            ViewData["ConnectionTypeId"]   = new SelectList(_context.LookUpConnectionType, "ConnectionTypeId", "ConnectionTypeName", tblConsumerData.ConnectionTypeId);
            ViewData["LocationId"]         = new SelectList(_context.LookUpLocation, "LocationId", "LocationName", tblConsumerData.LocationId);
            ViewData["MeterTypeId"]        = new SelectList(_context.LookUpMeterType, "MeterTypeId", "MeterTypeName", tblConsumerData.MeterTypeId);
            ViewData["OperatingVoltageId"] = new SelectList(_context.LookUpOperatingVoltage, "OperatingVoltageId", "OperatingVoltageName", tblConsumerData.OperatingVoltageId);
            ViewData["PhasingCodeId"]      = new SelectList(_context.LookUpPhasingCodeType, "PhasingCodeId", "PhasingCodeName", tblConsumerData.PhasingCodeId);
            ViewData["ServiceCableTypeId"] = new SelectList(_context.LookUpServiceCableType, "ServiceCableTypeId", "ServiceCableTypeName", tblConsumerData.ServiceCableTypeId);
            ViewData["StructureTypeId"]    = new SelectList(_context.LookUpStructureType, "StructureTypeId", "StructureTypeName", tblConsumerData.StructureTypeId);
            ViewData["ConsumerTypeId"]     = new SelectList(_context.LookUpConsumerType, "ConsumerTypeId", "ConsumerTypeName", tblConsumerData.ConsumerTypeId);
            return(View(tblConsumerData));
        }