Mvc 5 Razor popup Edit Asp

alfinete

Power Member
Bom dia

Tenho aqui duas questõe que precissava de ajuda
estou a trabalhar em mvc acho que seja ver 3 com razor

Tenho um control MyDmobile
com index.cshtml e Edit.cshtml
envio o code dos cshtml, mais o do controlo
e o da grid - _Grid.cshtml

questões :

Double click
______________________________


Tem a ver com um double click na lista refernte a div "DvTblrequests"
qua ao realizar o mesmo ele vai ao metodo editMy e traz os dados correctos para esta lista e para uma outra que esta abaixo desta
mas como estamos por ajax no double click do actualiza a lista de cima , a de baixo numva mostra os dados.


na Grid
" <div class="table table-sm table-responsive" style="" id="DvTblrequests">

@Html.Grid(Model.Result).Columns......."

ButtonCLick
_______________________


ao Clicar o link Upload ele passa bem no metodo Edit no controlo
so que não ambre a pagina Edit
fiz esta mesma logica num outro controlo e abriu

na mesma grid do ponto anterior e numa outra imediatamente a seguir a essa


Obrigado aguardo uma AJuda
Edit.cshtml
_______________________________________________________________________________________________________________
Código:
@using hnb.dmobile.core.Helpers;
@using GridMvc.Html

@using hnb.dmobile.web.ViewModel;
@using hnb.dmobile.web.ViewModel.Admin;



@model hnb.dmobile.web.ViewModel.NewProcessViewModel
@{
    ViewBag.PlaceHolderDate = "    -  -  ";
    Layout = null;
}



<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="editModal" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content margin-right-md">
            @using (Html.BeginForm("Edit", "MyDmobile", FormMethod.Post, new { @class = "form-horizontal", role = "form", @id = "popupForm" }))
            {

                <div class="modal-header">
                    <h3 class="text-primary"><b>@ViewBag.Title&nbsp;</b></h3>
                    <h5 class="text-info">Registo de Saida do Profissional selecionado</h5>
                </div>
                <div class="modal-body">
                    @Html.AntiForgeryToken()
                    @Html.HiddenFor(m => m.ID)



                </div>


                <div class="modal-footer">

                </div>


            }
            <br>



        </div>
    </div>

</div>


<script type="text/javascript">



    $(document).ready(function () {

    });





</script>



Index.cshtml
_______________________________________________________________________________________________________________

Código:
@using hnb.dmobile.core.Helpers;
@using GridMvc.Html
@using hnb.dmobile.web.ViewModel;
@using hnb.dmobile.web.ViewModel.Admin;

@model ListRequestViewModel
@{
    ViewBag.Title = "myDmobile";
    ViewBag.ImageSubmeterClass = "fa fa-sign-in text-center fa-lg";
    ViewBag.ToolTipSubmeter = "Submeter";
    Layout = "~/Views/Shared/_Layout.cshtml";
    //Layout = "~/Areas/Admin/Views/Shared/_AdminLayout.cshtml";
}




<div class="py-2">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-12">
                <h2 class="text-secondary" contenteditable="true"><b> @ViewBag.Title</b><br></h2>
            </div>
        </div>
    </div>
</div>
<div class="py-1">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <input type="hidden" disabled="disabled" class="form-control" id="HfThisRow" />
            </div>
        </div>
    </div>
</div>


<div class="py-0 pt-2">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-2">
                <div class="form-group">
                    <label class="text-info">Nº Profissional</label>
                    <input type="text" disabled="disabled" class="form-control" value="@Model.Employee.Number" />
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <label class="text-info">Nome</label>
                    <input type="text" disabled="disabled" class="form-control text-dark" value="@Model.Employee.Name" />
                </div>
            </div>
            <div class="col-md-2">
                <form class="">
                    <div class="form-group">
                        <label class="text-info">Estado&nbsp;</label>
                        <input type="text" disabled="disabled" class="form-control" value="@Model.Employee.EmployeeStatus.Description" />
                    </div>
                </form>
            </div>
            <div class="col-md-2">
                <form class="">
                    <div class="form-group">
                        <label class="text-info">Data</label>
                        <input type="email" disabled="disabled" class="form-control" value="@Model.Employee.InsertDate" />
                    </div>
                </form>


            </div>
        </div>
    </div>
</div>


<div class="py-0">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-12">
                <h5 class="text-muted">Lista de Pedidos</h5>
            </div>
        </div>
    </div>
</div>
<div class="py-1" style="">
    <div class="container-fluid">
        @*<div class="row">
                <div class="col-md-12 pb-3" style="">
                    <h3 class="text-info"><b>Lista de Pedidos</b></h3>
                </div>
            </div>*@
        <div class="row">
            <div class="col-md-12 border-top border-bottom">
                <div class="table table-sm table-responsive" style="" id="DvTblrequests">


                    @Html.Grid(Model.Result).Columns(columns =>
                    {

                    columns.Add(i => i.ID);
                    columns.Add(i => i.RequestType.Description).Sortable(true).Titled("Pedido");
                    columns.Add(i => i.CardNumber).Sortable(true).Titled("Nº Cartão");
                    columns.Add(i => i.InternalOperator.Description).Sortable(true).Titled("Operador");
                    columns.Add(i => i.CardType.Description).Sortable(true).Titled("Actividade");
                    columns.Add(i => i.Device.Model).Sortable(true).Titled("Tipo");
                    columns.Add(i => i.ProcurementDate).Format("{0:dd-MM-yyyy}").Sortable(true).Titled("Fidelização");
                    columns.Add(i => i.RequestStatus.Description).Sortable(true).Titled("Estado");

                    columns.Add().SetWidth("2%").Encoded(false).Sanitized(false).Titled("CC").Filterable(false).RenderValueAs(c => @<i class="fa fa-id-card-o text-left"></i>);
                     columns.Add().SetWidth("2%").Encoded(false).Sanitized(false).Titled("N").Filterable(false).RenderValueAs(c => @<i class="fa fa-file-text-o text-left"></i>);
             columns.Add().SetWidth("2%").Encoded(false).Sanitized(false).Titled("V").Filterable(false).RenderValueAs(c => @<i class="fa fa-file-pdf-o text-left"></i>);
     columns.Add().SetWidth("2%").Encoded(false).Sanitized(false).Titled("TR").Filterable(false).RenderValueAs(c => @<i class="fa fa-file-code-o text-left"></i>);
columns.Add().SetWidth("10%").Encoded(false).Sanitized(false).Titled("").Filterable(false).RenderValueAs(c => @<div></div>);


columns.Add(i => i.RequestStatus.ID).Titled("")
                    .Encoded(false)
                    .Sanitized(false)
                    .RenderValueAs(i => i.RequestStatus.ID == 8 ? "<div class=\"text-right\">"
                                                                                + Html.ActionLink(" ",
                                                                                  "EditMy",
                                                                                  new
                                                       {
                                                           controller = "myDmobile",
                                                           id = i.ID,
                                                           EditType = "TpSubmeter",
                                                           UploadID = 0

                                                       },
                                                                                  new
                                                       {
                                                           @class = @ViewBag.ImageSubmeterClass,
                                                           @title = @ViewBag.ToolTipSubmeter

                                                       })
                                                                                 + ("</div>")
                                                                                 : string.Empty);

columns.Add()
.Encoded(false)
.Sanitized(false)
.RenderValueAs(o => @<a href="@Url.Action("Edit", new { id = 9 })" class="dialog"><i class="fa fa-upload text-right text-black text-secondary"></i>&nbsp;Upload</a>);


             }).WithPaging(Configurations.PageSize)

                    <br />
                    <br />



                    <table class="table tabletable-borderless table-sm" id="GrdMyDocuments2">
                        <thead>
                            <tr class="table-info">
                                <th scope="col" class="border-bottom table-light"></th>
                                <th scope="col" class="border-bottom table-light">Tipo de Documento</th>
                                <th scope="col" class="border-bottom table-light"></th>
                                <th scope="col" class="border-bottom table-light"></th>
                                <th scope="col" class="border-bottom table-light"></th>
                                <th scope="col" class="border-bottom table-light"></th>
                            </tr>
                        </thead>
                        <tbody>

                            <tr>
                                <td class="text-left"><i class="fa fa-file-text text-left fa-check fa-file-text fa-file-text text-primary"></i></td>
                                <td>Proposta de Subscrição NOS (N)</td>
                                <td class="text-right text-success"><i class="fa-check text-right text-black text-secondary"></i> </td>
                                <td class="text-right text-success"><i class="fa fa-file-pdf-o text-right text-black text-secondary"></i></td>
                                <td class="text-right text-success"><i class="fa fa-close text-right text-black text-secondary"></i></td>
                                <td class="text-right text-success">

                                    <a id="lnkUpload" href="@Url.Action("Edit", new { id = 9})" class="dialog"><i class="fa fa-upload text-right text-black text-secondary"></i> Upload </a>

                                </td>
                            </tr>

                        </tbody>
                    </table>




                    <br />
                    <br />

                    <div id="DvTblDocumentos">

                        @Html.Grid(Model.ResultUploads).Columns(columns =>
                        {
                            columns.Add(Item => Item.Name).Sortable(true).Titled("Nome");
                            columns.Add(Item => Item.RequestID).Sortable(true).Titled("RequestID");

                        }).WithPaging(Configurations.PageSize)
                    </div>
                </div>



              div>
        </div>
    </div>
</div>
<div class="modal fade" id="ModalAwait" tabindex="-1" role="dialog" aria-labelledby="ModalAwait" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-body">

                <div class="text-center">
                    <div class="container text-center">
                        <div class="row">
                            <div class="col-md-12 text-center" style=""><img class="img-fluid d-block mx-auto w-25" src="~/Content/Images/rotateGreen.gif"></div>
                        </div>
                    </div>
                </div>
                <div class="text-center pt-3">
                    <div class="container">
                        <div class="row">
                            <div class="col-md-12">
                                <h5 class="text-primary">a carregar os dados da lista</h5>
                            </div>
                        </div>
                    </div>
                </div>


            </div>
        </div>
    </div>
</div>


<script type="text/javascript">



    $("#DvTblrequests").children().children().children().attr('id', 'GrdMyDmobile');
    $("#DvTblDocumentos").children().children().children().attr('id', 'GrdMyDocuments');

    var HfThisRow = $("#HfThisRow");
    var ListUpload = $("#DvTabsUplad");


    function SetVisibleUpDocs (IsdocumentsVisible) {

        ListUpload.removeAttr('style');


        if (IsdocumentsVisible == 1)
            ListUpload.attr('style', 'display:block;');
        else
            ListUpload.attr('style', 'display:none;');
    }

    function removecolorRowGrid(IdTable,IdSelected) {
        $('#' + IdTable +' tr').each(function (index, tr) {

            var TrID = $(this).find("td").eq(1).html();// tr.cells[1].innerText;
            if (IdSelected != '' && TrID != IdSelected) {

                $(this).removeAttr('style');

            }
            else
                if (IdSelected != '') {

                    $(this).removeAttr('style');

                }
            $(this).attr("style", "color:#000000;");

        });
    }




    $(document).ready(function () {

        //SetVisibleUpDocs(0);
        $('#choose-file').filestyle({
            'text': 'Selecionar Ficheiro',
            'htmlIcon': '<i class="fa fa-folder fa-lg text-white"></i>&nbsp;',
            'btnClass': 'btn btn-block btn-success',
            'inputClass': 'input-Large',
            'size': 'nr',
            'input': true,
            'badge': false,
            'badgeName': 'badge-light',
            'buttonBefore': false,
            'disabled': false,
            'placeholder': 'Escolha um ficheiro e clique em importar',
            'onChange': function () { }
        })

        $('#lnkCloseUploadFiles').click(function () {

           //SetVisibleUpDocs(0);

            removecolorRowGrid('GrdMyDmobile', HfThisRow.val());

        });

        $('#GrdMyDmobile tr').dblclick(function (e) {
            var $this = $(this);
            var $caption = $this.html();// We store the html content of the submit button


            //var Id = parseInt($(e.target).closest("table").find("tr >td").eq(1).text());
            var Id = $(e.target)[0].textContent;

            removecolorRowGrid('GrdMyDmobile', Id);
            $.ajax({
                data: { RequestID: Id},
                url: '@Url.Action("IndexMy", "MyDmobile")',
                type: 'POST',
                dataType: "json",
                async: false,
                beforeSend: function () {
                    $('#ModalAwait').modal('show');
                    //SetVisibleUpDocs(0);
                     $this.attr('disabled', true);
                },
                success: function (result, data, response)
                {

                    $('#ModalAwait').modal('hide');
                    $this.attr('disabled', false);
                    //alert(result)
                    //$('#GrdMyDocuments').html(data);
                  // $('#GrdMyDocuments').load('@Url.Action("IndexMy", "MyDmobile")');
                    //$.get(url, function (data) {

                    //    $('#GrdMyDocuments').html(data);

                    //});
                    //SetVisibleUpDocs(1);
                    $this.attr("style", "background-color:#2596be;color:#FFFFFF;");
                    HfThisRow.val(Id);

                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {

                    $('#ModalAwait').modal('hide');
                    // You can put something here if there is an error from submitted request
                }
            });
        });


        //$.ajaxSetup({ cache: false });
        $("body").on("click", "#confirmExport", function (e) {
            $("#WarningExportCSV").modal('hide');
        });



        $("body").on("click", ".editDialog", function (e) {
            e.preventDefault();
            var url = $(this).attr('href');

            $.get(url, function (data) {

                $('#edit').html(data);
                $('#editModal').modal('show');
            });

            return false;
        });



        $("body").on("click", ".dialog", function (e) {
            e.preventDefault();
            var url = $(this).attr('href');

            $.get(url, function (data) {

                $('#wrapDialog').html(data);
                $('#editModal').modal('show');
            });

            return false;
        });

    })
</script>


COntroller
_________________________________________________________________________________________________________________


Código:
using hnb.dmobile.core.Helpers;
using hnb.dmobile.core.Interfaces;
using hnb.dmobile.entities.Models;
using hnb.dmobile.logging;
using hnb.dmobile.web.Models;
using hnb.dmobile.web.ViewModel;
using hnb.dmobile.web.ViewModel.Admin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Caching;
using System.Web.Mvc;
using static hnb.dmobile.data.Tipos;



namespace hnb.dmobile.web.Areas.Admin.Controllers
{
    public class MyDmobileController : BOBaseController<Request, NewProcessViewModel>
  
    {
        public override string CreateViewName { get { return "CreateEdit"; } }
        public override string EditViewName { get { return "CreateEdit"; } }
        private ListRequestViewModel modelSave { get; set; }
        private Cache Ch { get; set; }

        private readonly IDocumentUploadService _DocumentUploadService;
        private readonly IVw_Teste_DocsService _Vw_Teste_DocsService;
      

        private readonly IEmployeeService _employeeService;
        private readonly IAuthServvice _authServvice;
        private readonly IUserService _userService;
        private readonly IRequestService _requestService;
        private readonly IGenericService<CardType> _cardTypeService;
        private readonly IListOfItemsService _listOfItemsService;
        private readonly IDevice_OperatorService _device_OperatorService;
        private readonly IDocumentService _documentService;
        private readonly IGenericFunctionsService _GenericFunctionsService;
        private readonly ICacheService _CacheService;
        private readonly IDocumentExtentionService _DocumentExtentionService;

        public MyDmobileController(IDocumentExtentionService DocumentExtentionService, IUserService userService, IAuthServvice authServvice, IEmployeeService employeeService, IRequestService requestService, ILoggerFactory loggeloggerFactory,
            IGenericService<CardType> cardTypeService, IListOfItemsService listOfItemsService, IDocumentUploadService DocumentUploadService, IVw_Teste_DocsService Vw_Teste_DocsService,
            IDocumentService documentService, IDevice_OperatorService device_OperatorService, IGenericFunctionsService GenericFunctionsService, ICacheService CacheService)
            : base(requestService, loggeloggerFactory)
        {
            _employeeService = employeeService;
            _authServvice = authServvice;
            _userService = userService;
            _requestService = requestService;
            _cardTypeService = cardTypeService;
            _listOfItemsService = listOfItemsService;
            _device_OperatorService = device_OperatorService;
            _documentService = documentService;
            _GenericFunctionsService = GenericFunctionsService;

            _DocumentUploadService = DocumentUploadService;
            _Vw_Teste_DocsService = Vw_Teste_DocsService;
            _DocumentExtentionService = DocumentExtentionService;
            _CacheService = CacheService;
            Ch = new Cache();


        }

      

        public override ActionResult Index()
        {
            string fieldToFilter = string.Empty;
            string value = string.Empty;

          
            if (Session["PesquisaRequests"] != null)
            {
          
                var Model = (ListRequestViewModel)Session["PesquisaRequests"];

          
                fieldToFilter = (fieldToFilter != string.Empty && fieldToFilter != Model.FilterField) ? fieldToFilter : Model.FilterField;
                value = (value != string.Empty && value != Model.FilterValue) ? value : Model.FilterValue;
                Session["PesquisaRequests"] = null;
          

            }
          
            return IndexFilter(fieldToFilter, value);
        }

        [HttpPost]
        public override ActionResult IndexMy(int RequestID)
        {
            string fieldToFilter = string.Empty;
            string value = string.Empty;

            if (Session["PesquisaRequests"] != null)
            {
        
                var Model = (ListRequestViewModel)Session["PesquisaRequests"];

        
                fieldToFilter = (fieldToFilter != string.Empty && fieldToFilter != Model.FilterField) ? fieldToFilter : Model.FilterField;
                value = (value != string.Empty && value != Model.FilterValue) ? value : Model.FilterValue;
                Session["PesquisaRequests"] = null;
        

            }
        
            return IndexFilterMy(fieldToFilter, value,RequestID);
        }

        public override ActionResult IndexFilter(string fieldToFilter, string value)
        {
            IEnumerable<Request> data;
            string AuxValue = string.Empty;
            string empNumber = (HttpContext.User.Identity as DMobileIdentity).EmployeeNumber;
            Employee employee = _employeeService.GetByNumber(empNumber);
            // Session["PesquisaRequests"] = value;
            if (fieldToFilter == null || value == null || fieldToFilter == string.Empty || value == string.Empty)
            {
                if (Ch["RequestSearch"] != null)
                    Ch.Remove("RequestSearch");

                //Helder
                data = _requestService.GetAllRequestsByEmployee(employee.ID);
            }
            else
            {
                if (Session["PesquisaRequests"] != null)
                {
                    ListRequestViewModel Model = (ListRequestViewModel)Session["PesquisaRequests"];


                    fieldToFilter = (fieldToFilter != string.Empty && fieldToFilter != Model.FilterField) ? fieldToFilter : Model.FilterField;
                    value = (value != string.Empty && value != Model.FilterValue) ? value : Model.FilterValue;
                    Session["PesquisaRequests"] = null;
                }



                data = _requestService.GetAllByEmployee(employee.ID, fieldToFilter, value);




            }



            var result = data.Select(o => AutoMapper.Mapper.Map<Request, RequestViewModel>(o)).ToList();



            foreach (var item in result)
            {
                if (item.RequestType == null) item.RequestType = new RequestTypeViewModel();
                if (item.RequestStatus == null) item.RequestStatus = new RequestStatusViewModel();
                if (item.Employee == null) item.Employee = new EmployeeViewModel();
                if (item.CardType == null) item.CardType = new CardTypeViewModel();
                //  if (item.MigrationOperator == null) item.MigrationOperator = new OperatorViewModel();
                if (item.Device == null) item.Device = new DeviceViewModel();
                if (item.Color == null) item.Color = new ColorViewModel();
                if (item.Plan_Operator == null) item.Plan_Operator = new Plan_OperatorViewModel();
            }

            var model = new ListRequestViewModel();
            model.Result = result;
            model.FilterField = fieldToFilter ?? string.Empty;
            model.FilterValue = value ?? string.Empty;
        

            model.FilterFields = new SelectList(new[] {
                new KeyValuePair<string,string>("ID","Id"),
                new KeyValuePair<string,string>("Employee.Number","Número de Funcionário"),
                new KeyValuePair<string,string>("CardNumber","Número de Telemóvel"),
                new KeyValuePair<string,string>("CardIMEI","IMEI"),
                new KeyValuePair<string,string>("RequestStatus.Description","Estado"),
                new KeyValuePair<string,string>("RequestType.Description","Tipo processo")
            }, "Key", "Value");

            model.Employee = employee;
            model.ResultUploads = new List<Vw_Teste_Docs>();


            IEnumerable<Vw_Teste_Docs> dataUpload;
            Int32 RequestID = 0;

         
            dataUpload = _Vw_Teste_DocsService.GetAllDocsByRequestID(RequestID);


             model.RequestID = RequestID;

             model.ResultUploads = dataUpload;





            Ch.Insert("RequestSearch", model);
            Session["PesquisaRequests"] = model;
            Ch.Remove("RequestSearch");

          
            return View("Index", model);
        }



        public override ActionResult IndexFilterMy(string fieldToFilter, string value, int RequestID)
        {
            IEnumerable<Request> data;
            IEnumerable<Vw_Teste_Docs> dataUpload;
            string AuxValue = string.Empty;
            string empNumber = (HttpContext.User.Identity as DMobileIdentity).EmployeeNumber;
            Employee employee = _employeeService.GetByNumber(empNumber);
            // Session["PesquisaRequests"] = value;
            if (fieldToFilter == null || value == null || fieldToFilter == string.Empty || value == string.Empty)
            {
                if (Ch["RequestSearch"] != null)
                    Ch.Remove("RequestSearch");

                //Helder
                data = _requestService.GetAllRequestsByEmployee(employee.ID);
            }
            else
            {
                if (Session["PesquisaRequests"] != null)
                {
                    ListRequestViewModel Model = (ListRequestViewModel)Session["PesquisaRequests"];


                    fieldToFilter = (fieldToFilter != string.Empty && fieldToFilter != Model.FilterField) ? fieldToFilter : Model.FilterField;
                    value = (value != string.Empty && value != Model.FilterValue) ? value : Model.FilterValue;
                    Session["PesquisaRequests"] = null;
                }



                data = _requestService.GetAllByEmployee(employee.ID, fieldToFilter, value);




            }



            var result = data.Select(o => AutoMapper.Mapper.Map<Request, RequestViewModel>(o)).ToList();



            foreach (var item in result)
            {
                if (item.RequestType == null) item.RequestType = new RequestTypeViewModel();
                if (item.RequestStatus == null) item.RequestStatus = new RequestStatusViewModel();
                if (item.Employee == null) item.Employee = new EmployeeViewModel();
                if (item.CardType == null) item.CardType = new CardTypeViewModel();
                //  if (item.MigrationOperator == null) item.MigrationOperator = new OperatorViewModel();
                if (item.Device == null) item.Device = new DeviceViewModel();
                if (item.Color == null) item.Color = new ColorViewModel();
                if (item.Plan_Operator == null) item.Plan_Operator = new Plan_OperatorViewModel();
            }

            var model = new ListRequestViewModel();
            model.Result = result;

            model.Employee = employee;
            model.IsDocumentsVisible = RequestID == 0 ? 0:  1;
            model.ResultUploads = new List<Vw_Teste_Docs>();
            if (RequestID > 0)
            {
                model.ResultUploads = null;
                dataUpload = _Vw_Teste_DocsService.GetAllDocsByRequestID(RequestID);

            
            
         
                model.RequestID = RequestID;

                model.ResultUploads = dataUpload;
            }

            Ch.Insert("RequestSearch", model);
            Session["PesquisaRequests"] = model;
            Ch.Remove("RequestSearch");

        
            return View("Index", model);
        }

        /// <summary>
        /// Requests Edit List
        /// Lista de Pedidos
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]
      
        public override ActionResult Edit(int id)
        {
            var employeeProcess = _requestService.GetById(id);

            //var model = AutoMapper.Mapper.Map<Request, NewProcessViewModel>(employeeProcess) ?? new NewProcessViewModel();
            var model = new NewProcessViewModel();
            //#region list of items


            ViewBag.IsEdit = true;
            return View(  model);
        }




        [OutputCache(NoStore = true, Duration = 0, VaryByParam = "None")]

        public override ActionResult EditMy(int id, string EditType, int UploadID)
        {
            //var Doc = _DocumentUploadService.GetById(id);
            //var model = AutoMapper.Mapper.Map<DocumentUpload, DocumentUploadViewModel>(Doc) ?? new DocumentUploadViewModel();
            //var employeeProcess = _requestService.GetById(id);
            //var model = AutoMapper.Mapper.Map<Request, NewProcessViewModel>(employeeProcess) ?? new NewProcessViewModel();
            ActionResult Action = null;
            List<int> Ids = new List<int> { id };
            switch (EditType)
            {

                case EditMyType.TpSubmeter:

                    _requestService.ChangeRequestStatus(Ids.ToList().ToArray(), REQUESTSTATUSCODE.SUBMETIDO);
                    Action = IndexFilterMy(null, null, id);
                    break;

                case EditMyType.TpUpload:
                    //var model = AutoMapper.Mapper.Map<Request, NewProcessViewModel>(employeeProcess) ?? new NewProcessViewModel();
                    var model = new NewProcessViewModel();

                    Action = View(model);
                    break;
            }

            return Action;
        }




      
      




        [HttpPost]
        public void SendEmailPdfs(SelectList ListDocuments)
        {

            //return _requestService.GetValueOperator(requestTypeId, deviceId, operatorId);
        }

        [HttpPost]
        public decimal GetValue(int requestTypeId, int deviceId)
        {
            return _requestService.GetValue(requestTypeId, deviceId);
            //return _requestService.GetValueOperator(requestTypeId, deviceId, operatorId);
        }

        [HttpPost]
        public decimal GetValueOperator(int requestTypeId, int deviceId, int operatorId)
        {
            return _requestService.GetValueOperator(requestTypeId, deviceId, operatorId);

        }

        [HttpPost]
        public ActionResult GetOperatorMigration(int cardTypeID)
        {
            var cardType = _cardTypeService.GetAll()
                .FirstOrDefault(ct => ct.ID == cardTypeID) ?? new CardType();

            return Json(cardType.OperatorMigration);
        }

        [HttpPost]
        public ActionResult GetDeviceDetails(int deviceId, int operatorId)
        {
            var details = _device_OperatorService.GetDeviceDetails(deviceId, operatorId);

            var model = AutoMapper.Mapper.Map<Device_Operator, Device_OperatorViewModel>(details);

            return Json(model);
        }

    }
}


_Grid.cshtml
________________________________________________________________________________________________


Código:
Snippet@using GridMvc.Columns
@model GridMvc.IGrid
@if (Model == null) { return; }
@if (Model.RenderOptions.RenderRowsOnly)
{
    @RenderGridBody();
}
else
{
    <div class="grid-mvc" data-lang="@Model.Language" data-gridname="@Model.RenderOptions.GridName" data-selectable="@Model.RenderOptions.Selectable.ToString().ToLower()" data-multiplefilters ="@Model.RenderOptions.AllowMultipleFilters.ToString().ToLower()">
        <div class="grid-wrap">
            <table class="table table-striped grid-table">
                @* Draw grid header *@
                <thead>
                    @RenderGridHeader()
                </thead>
                <tbody>
                    @RenderGridBody()
                </tbody>
            </table>
            @RenderGridPager()
        </div>
    </div>
}
@helper RenderGridBody()
{
    if (!Model.ItemsToDisplay.Any())
    {
    <tr class="grid-empty-text">
        <td colspan="@Model.Columns.Count()">
            @Model.EmptyGridText
        </td>
    </tr>
    }
    else
    {
        foreach (object item in Model.ItemsToDisplay)
        {
    <tr class="grid-row @Model.GetRowCssClasses(item)">
        @foreach (IGridColumn column in Model.Columns)
        {
            @column.CellRenderer.Render(column, column.GetCell(item))
        }
    </tr>
        }
    }
}
@helper RenderGridHeader()
{
    <tr>
        @foreach (IGridColumn column in Model.Columns)
        {
            @column.HeaderRenderer.Render(column)
        }
    </tr>
}
@helper RenderGridPager()
{
    if (Model.EnablePaging && Model.Pager != null)
    {
    <div class="grid-footer">
        @Html.Partial(Model.Pager.TemplateName, Model.Pager)
    </div>
    }
}
 
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModal" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <form class="form-horizontal" role="form" action="" method="post" id="popupFormDelete">
                @Html.AntiForgeryToken()
 
                <div class="modal-header">
                    <h3>Apagar</h3>
                </div>
                <div class="modal-body">
                    Tem a certeza que deseja prosseguir com a operação?
                    <input type="hidden" name="id" id="idHiddenField" />
                </div>
                <div class="modal-footer">
 
                    <input id="btnPopupConfirmDelete" value="Confirmo"
                           class="btn btn-lg btn-success btn-sucess" contenteditable="true" />
 
                    <button type="button" class="btn btn-default btn-lg" data-dismiss="modal">Fechar</button>
                </div>
            </form>
        </div>
    </div>
</div>
 
 
<script type="text/javascript">
    function gridDeleteItem(url, id) {
 
        $("#deleteModal form:first").attr("action", url);
        $('#deleteModal').modal('show');
        $("#idHiddenField").val(id);
 
        $("#btnPopupConfirmDelete").click(function (event) {
            $("#popupFormDelete").submit();
        });
    }
 
    function deleteSuccessful() {
 
    }
</script>
 
<div id="dialog-confirm" style="display:none;" title="Confirm">
    <p>
        <span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>
        Tem a certeza que pretende apagar o registo?
    </p>
</div>
 
Última edição:
Back
Topo