public ActionResult AddDetalle_Facturacion_Especialistas(int rowIndex = 0, int functionMode = 0, int id = 0)
        {
            int ModuleId = (Session["CurrentModuleId"] != null) ? Convert.ToInt32(Session["CurrentModuleId"]) : 0;

            ViewBag.currentRowIndex = rowIndex;
            ViewBag.functionMode    = functionMode;
            ViewBag.Consult         = false;
            var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 44447);

            ViewBag.Permission = permission;
            if (!_tokenManager.GenerateToken())
            {
                return(null);
            }
            _IDetalle_Facturacion_EspecialistasApiConsumer.SetAuthHeader(_tokenManager.Token);
            Detalle_Facturacion_EspecialistasModel varDetalle_Facturacion_Especialistas = new Detalle_Facturacion_EspecialistasModel();


            if (id.ToString() != "0")
            {
                var Detalle_Facturacion_EspecialistassData = _IDetalle_Facturacion_EspecialistasApiConsumer.ListaSelAll(0, 1000, "Detalle_Facturacion_Especialistas.Folio=" + id, "").Resource.Detalle_Facturacion_Especialistass;

                if (Detalle_Facturacion_EspecialistassData != null && Detalle_Facturacion_EspecialistassData.Count > 0)
                {
                    var Detalle_Facturacion_EspecialistasData = Detalle_Facturacion_EspecialistassData.First();
                    varDetalle_Facturacion_Especialistas = new Detalle_Facturacion_EspecialistasModel
                    {
                        Folio = Detalle_Facturacion_EspecialistasData.Folio
                        , Fecha_de_Registro        = (Detalle_Facturacion_EspecialistasData.Fecha_de_Registro == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_de_Registro).ToString(ConfigurationProperty.DateFormat))
                        , Folio_Factura            = Detalle_Facturacion_EspecialistasData.Folio_Factura
                        , Periodo_Facturado        = Detalle_Facturacion_EspecialistasData.Periodo_Facturado
                        , Cantidad                 = Detalle_Facturacion_EspecialistasData.Cantidad
                        , Archivo_XML              = Detalle_Facturacion_EspecialistasData.Archivo_XML
                        , Archivo_PDF              = Detalle_Facturacion_EspecialistasData.Archivo_PDF
                        , Estatus                  = Detalle_Facturacion_EspecialistasData.Estatus
                        , Fecha_programada_de_Pago = (Detalle_Facturacion_EspecialistasData.Fecha_programada_de_Pago == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_programada_de_Pago).ToString(ConfigurationProperty.DateFormat))
                        , Pagada        = Detalle_Facturacion_EspecialistasData.Pagada.GetValueOrDefault()
                        , Fecha_de_pago = (Detalle_Facturacion_EspecialistasData.Fecha_de_pago == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_de_pago).ToString(ConfigurationProperty.DateFormat))
                    };
                }
                _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                ViewBag.Archivo_XMLSpartane_File = _ISpartane_FileApiConsumer.GetByKey(varDetalle_Facturacion_Especialistas.Archivo_XML).Resource;
                _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                ViewBag.Archivo_PDFSpartane_File = _ISpartane_FileApiConsumer.GetByKey(varDetalle_Facturacion_Especialistas.Archivo_PDF).Resource;
            }
            if (!_tokenManager.GenerateToken())
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }



            return(PartialView("AddDetalle_Facturacion_Especialistas", varDetalle_Facturacion_Especialistas));
        }
        public ActionResult Create(int Id = 0, int consult = 0)
        {
            int ModuleId   = (Session["CurrentModuleId"] != null) ? Convert.ToInt32(Session["CurrentModuleId"]) : 0;
            var permission = PermissionHelper.GetRoleObjectPermission(SessionHelper.Role, 44447);

            ViewBag.Permission = permission;
            var varDetalle_Facturacion_Especialistas = new Detalle_Facturacion_EspecialistasModel();

            ViewBag.ObjectId  = "44447";
            ViewBag.Operation = "New";

            ViewBag.IsNew = true;



            if ((Id.GetType() == typeof(string) && Id.ToString() != "") || ((Id.GetType() == typeof(int) || Id.GetType() == typeof(Int16) || Id.GetType() == typeof(Int32) || Id.GetType() == typeof(Int64) || Id.GetType() == typeof(short)) && Id.ToString() != "0"))
            {
                ViewBag.IsNew     = false;
                ViewBag.Operation = "Update";
                if (!_tokenManager.GenerateToken())
                {
                    return(Json(null, JsonRequestBehavior.AllowGet));
                }
                _IDetalle_Facturacion_EspecialistasApiConsumer.SetAuthHeader(_tokenManager.Token);
                var Detalle_Facturacion_EspecialistasData = _IDetalle_Facturacion_EspecialistasApiConsumer.GetByKeyComplete(Id).Resource.Detalle_Facturacion_Especialistass[0];
                if (Detalle_Facturacion_EspecialistasData == null)
                {
                    return(HttpNotFound());
                }

                varDetalle_Facturacion_Especialistas = new Detalle_Facturacion_EspecialistasModel
                {
                    Folio = (int)Detalle_Facturacion_EspecialistasData.Folio
                    , Fecha_de_Registro        = (Detalle_Facturacion_EspecialistasData.Fecha_de_Registro == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_de_Registro).ToString(ConfigurationProperty.DateFormat))
                    , Folio_Factura            = Detalle_Facturacion_EspecialistasData.Folio_Factura
                    , Periodo_Facturado        = Detalle_Facturacion_EspecialistasData.Periodo_Facturado
                    , Cantidad                 = Detalle_Facturacion_EspecialistasData.Cantidad
                    , Archivo_XML              = Detalle_Facturacion_EspecialistasData.Archivo_XML
                    , Archivo_PDF              = Detalle_Facturacion_EspecialistasData.Archivo_PDF
                    , Estatus                  = Detalle_Facturacion_EspecialistasData.Estatus
                    , Fecha_programada_de_Pago = (Detalle_Facturacion_EspecialistasData.Fecha_programada_de_Pago == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_programada_de_Pago).ToString(ConfigurationProperty.DateFormat))
                    , Pagada        = Detalle_Facturacion_EspecialistasData.Pagada.GetValueOrDefault()
                    , Fecha_de_pago = (Detalle_Facturacion_EspecialistasData.Fecha_de_pago == null ? string.Empty : Convert.ToDateTime(Detalle_Facturacion_EspecialistasData.Fecha_de_pago).ToString(ConfigurationProperty.DateFormat))
                };
                _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                ViewBag.Archivo_XMLSpartane_File = _ISpartane_FileApiConsumer.GetByKey(varDetalle_Facturacion_Especialistas.Archivo_XML).Resource;
                _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                ViewBag.Archivo_PDFSpartane_File = _ISpartane_FileApiConsumer.GetByKey(varDetalle_Facturacion_Especialistas.Archivo_PDF).Resource;
            }
            if (!_tokenManager.GenerateToken())
            {
                return(Json(null, JsonRequestBehavior.AllowGet));
            }



            ViewBag.Consult = consult == 1;
            if (consult == 1)
            {
                ViewBag.Operation = "Consult";
            }
            return(View(varDetalle_Facturacion_Especialistas));
        }
        public ActionResult Post(bool IsNew, Detalle_Facturacion_EspecialistasModel varDetalle_Facturacion_Especialistas)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (!_tokenManager.GenerateToken())
                    {
                        return(Json(null, JsonRequestBehavior.AllowGet));
                    }
                    _IDetalle_Facturacion_EspecialistasApiConsumer.SetAuthHeader(_tokenManager.Token);


                    if (varDetalle_Facturacion_Especialistas.Archivo_XMLRemoveAttachment != 0 && varDetalle_Facturacion_Especialistas.Archivo_XMLFile == null)
                    {
                        varDetalle_Facturacion_Especialistas.Archivo_XML = 0;
                    }

                    if (varDetalle_Facturacion_Especialistas.Archivo_XMLFile != null)
                    {
                        var fileAsBytes = HttpPostedFileHelper.GetPostedFileAsBytes(varDetalle_Facturacion_Especialistas.Archivo_XMLFile);
                        _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                        varDetalle_Facturacion_Especialistas.Archivo_XML = (int)_ISpartane_FileApiConsumer.Insert(new Spartane_File()
                        {
                            File        = fileAsBytes,
                            Description = varDetalle_Facturacion_Especialistas.Archivo_XMLFile.FileName,
                            File_Size   = fileAsBytes.Length
                        }).Resource;
                    }
                    if (varDetalle_Facturacion_Especialistas.Archivo_PDFRemoveAttachment != 0 && varDetalle_Facturacion_Especialistas.Archivo_PDFFile == null)
                    {
                        varDetalle_Facturacion_Especialistas.Archivo_PDF = 0;
                    }

                    if (varDetalle_Facturacion_Especialistas.Archivo_PDFFile != null)
                    {
                        var fileAsBytes = HttpPostedFileHelper.GetPostedFileAsBytes(varDetalle_Facturacion_Especialistas.Archivo_PDFFile);
                        _ISpartane_FileApiConsumer.SetAuthHeader(_tokenManager.Token);
                        varDetalle_Facturacion_Especialistas.Archivo_PDF = (int)_ISpartane_FileApiConsumer.Insert(new Spartane_File()
                        {
                            File        = fileAsBytes,
                            Description = varDetalle_Facturacion_Especialistas.Archivo_PDFFile.FileName,
                            File_Size   = fileAsBytes.Length
                        }).Resource;
                    }


                    var result = "";
                    var Detalle_Facturacion_EspecialistasInfo = new Detalle_Facturacion_Especialistas
                    {
                        Folio = varDetalle_Facturacion_Especialistas.Folio
                        , Fecha_de_Registro = (!String.IsNullOrEmpty(varDetalle_Facturacion_Especialistas.Fecha_de_Registro)) ? DateTime.ParseExact(varDetalle_Facturacion_Especialistas.Fecha_de_Registro, ConfigurationProperty.DateFormat, CultureInfo.InvariantCulture as IFormatProvider) : (DateTime?)null
                        , Folio_Factura     = varDetalle_Facturacion_Especialistas.Folio_Factura
                        , Periodo_Facturado = varDetalle_Facturacion_Especialistas.Periodo_Facturado
                        , Cantidad          = varDetalle_Facturacion_Especialistas.Cantidad
                        , Archivo_XML       = (varDetalle_Facturacion_Especialistas.Archivo_XML.HasValue && varDetalle_Facturacion_Especialistas.Archivo_XML != 0) ? ((int?)Convert.ToInt32(varDetalle_Facturacion_Especialistas.Archivo_XML.Value)) : null

                        , Archivo_PDF = (varDetalle_Facturacion_Especialistas.Archivo_PDF.HasValue && varDetalle_Facturacion_Especialistas.Archivo_PDF != 0) ? ((int?)Convert.ToInt32(varDetalle_Facturacion_Especialistas.Archivo_PDF.Value)) : null

                        , Estatus = varDetalle_Facturacion_Especialistas.Estatus
                        , Fecha_programada_de_Pago = (!String.IsNullOrEmpty(varDetalle_Facturacion_Especialistas.Fecha_programada_de_Pago)) ? DateTime.ParseExact(varDetalle_Facturacion_Especialistas.Fecha_programada_de_Pago, ConfigurationProperty.DateFormat, CultureInfo.InvariantCulture as IFormatProvider) : (DateTime?)null
                        , Pagada        = varDetalle_Facturacion_Especialistas.Pagada
                        , Fecha_de_pago = (!String.IsNullOrEmpty(varDetalle_Facturacion_Especialistas.Fecha_de_pago)) ? DateTime.ParseExact(varDetalle_Facturacion_Especialistas.Fecha_de_pago, ConfigurationProperty.DateFormat, CultureInfo.InvariantCulture as IFormatProvider) : (DateTime?)null
                    };

                    result = !IsNew?
                             _IDetalle_Facturacion_EspecialistasApiConsumer.Update(Detalle_Facturacion_EspecialistasInfo, null, null).Resource.ToString() :
                                 _IDetalle_Facturacion_EspecialistasApiConsumer.Insert(Detalle_Facturacion_EspecialistasInfo, null, null).Resource.ToString();

                    return(Json(result, JsonRequestBehavior.AllowGet));
                }
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
            catch (ServiceException ex)
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }