Esempio n. 1
0
        public ActionResult Update(evento model)
        {
            try
            {
                //var idusu = SesionLogin().ID;

                model.usuario_mod = SesionLogin().Sigla;
                model.fecha_mod   = DateTime.Now;
                model.id_usuario  = SesionLogin().ID;
                model.estado      = "1";
                if (model.fecha < DateTime.Now)
                {
                    return(JsonError("Fecha ingresada no debe ser anterior a la de hoy."));
                }

                if (ModelState.IsValid)
                {
                    _db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                    return(JsonExitoMsg("Actualizado"));
                }
                return(JsonError("Error"));
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Hey !!! hubo un problema."));
            }
        }
Esempio n. 2
0
        public ActionResult Delete(string id)
        {
            int id_ex = Int32.Parse(id);

            var model = _db.evento.FirstOrDefault(p => p.id == id_ex);

            if (model == null)
            {
                return(RedirectToAction("Create"));
            }

            try
            {
                model.usuario_mod = SesionLogin().Sigla;
                model.fecha_mod   = DateTime.Now;
                model.estado      = "0";

                if (ModelState.IsValid)
                {
                    _db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                    return(JsonExitoMsg("Eliminado"));
                }
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Hey !!! hubo un problema."));
            }

            return(View());
        }
Esempio n. 3
0
        public ActionResult Create(evento model)
        {
            try
            {
                var      idusu = SesionLogin().ID;
                DateTime fec   = DateTime.Today;


                model.usuario_mod = SesionLogin().Sigla;
                model.fecha_mod   = DateTime.Now;
                model.id_usuario  = idusu;
                model.estado      = "1";
                model.id_usuario  = idusu;
                //!(model.fecha.ToString().Equals(fec.ToString())) ||
                if (model.fecha < fec)
                {
                    return(JsonError("Fecha ingresada no debe ser anterior a la de hoy."));
                }

                if (ModelState.IsValid)
                {
                    _db.evento.Add(model);
                    _db.SaveChanges();
                    return(JsonExitoMsg("Evento"));
                }
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Hey !!! hubo un problema."));
            }

            return(View());
        }
Esempio n. 4
0
        public ActionResult Edit(WebApplicationMod.Clientes model, string chk_activo, string chk_irfs, string chk_adm_cheq, string chk_contdolares, string chk_eeff, string chk_tesoreria, string chk_payroll, string chk_idioma, string chk_impu, string chk_snringles, string ivaselect)
        {
            try
            {
                // Almaceno el usuario modificador de la empresa.
                model.Usu = "Jackermann";

                //  convierto Checkbox en S o N
                model.Activo        = chk_activo == "true" ? "S" : "N";
                model.IRFS          = chk_irfs == "true" ? "S" : "N";
                model.AdmCheque     = chk_adm_cheq == "true" ? "S" : "N";
                model.CTD           = chk_contdolares == "true" ? "S" : "N";
                model.publicar_eeff = chk_eeff == "true" ? "S" : "N";
                model.TES           = chk_tesoreria == "true" ? "S" : "N";
                //model.RRHH = chk_payroll == "true" ? "S" : "N";
                model.RRHH     = chk_payroll == "true" ? "S" : "N";
                model.IIng     = chk_idioma == "true" ? "S" : "N";
                model.impsug   = chk_impu == "true" ? "S" : "N";
                model.snr_ingl = chk_snringles == "true" ? "S" : "N";
                model.Tipo     = ivaselect;

                if (ModelState.IsValid)
                {
                    _db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                    return(JsonExitoMsg(model.ID.ToString()));
                }
                return(JsonError("Hey !!! hubo un problema."));
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Hey !!! hubo un problema."));
            }
        }
        public override void OnException(HttpActionExecutedContext actionExecutedContext)
        {
            if (actionExecutedContext.Exception is ArgumentNullException)
            {
                actionExecutedContext.Response = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content = new StringContent("API is called without required params")
                };
            }
            else if (actionExecutedContext.Exception is HttpResponseException)
            {
                actionExecutedContext.Response = new HttpResponseMessage(HttpStatusCode.NotFound)
                {
                    Content = new StringContent("No Personal Loan is found.")
                };
            }
            else
            {
                actionExecutedContext.Response = new HttpResponseMessage(HttpStatusCode.InternalServerError)
                {
                    Content = new StringContent("An error occurred during loan request - please try again or contact support")
                };
            }

            // Log exception to the database
            Errors err = new Errors()
            {
                ExceptionType = actionExecutedContext.Exception.GetType().ToString(),
                Message       = actionExecutedContext.Exception.Message,
                Date          = DateTime.Now
            };

            errorService.LogError(err);
        }
Esempio n. 6
0
        public ActionResult Edit(GS_Documentos model, int SaldoxAnticipo)
        {
            try
            {
                int idMD        = model.ID;
                var docu_gs     = _db.GS_Documentos.FirstOrDefault(x => x.ID == idMD);
                var auxTotal    = docu_gs.Total;
                var dateAndTime = DateTime.Now;
                var dateMin     = dateAndTime.Date;
                var dateMax     = dateMin.AddMonths(1);

                if (model.PagUrg != null && (model.PagUrg < dateMin || model.PagUrg > dateMax))
                {
                    return(JsonError("La 'fecha limite' solo puede ser a partir de hoy y no mayor a un mes"));
                }
                else

                if (SaldoxAnticipo == auxTotal)
                {
                    return(JsonError("el valor de 'Anticipo' no puede ser 0"));
                }
                else if (SaldoxAnticipo < 0)
                {
                    return(JsonError("el valor de 'Saldo' no puede ser negativo"));
                }
                else
                {
                    var FormaPago   = model.FP;
                    var ObSolPag    = model.ObsSolPago;
                    var FechaLimite = model.PagUrg;
                    var Monto       = SaldoxAnticipo;
                    docu_gs.FP            = null;
                    docu_gs.ObsSolPago    = ObSolPag;
                    docu_gs.ObsPagRealizo = SaldoxAnticipo == 0 ? "SI" : null;
                    docu_gs.PagUrg        = FechaLimite;
                    docu_gs.FechaSolPago  = DateTime.Now;
                    docu_gs.MontoPago     = Monto;
                    docu_gs.UsuSolPago    = SesionLogin().Sigla;


                    _db.Entry(docu_gs).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();

                    return(JsonExitoMsg("Formulario"));
                }
            }
            catch (Exception e)
            {
                return(Json(ErrorService.LogError(e)));
            }
        }
Esempio n. 7
0
        private void ThrowNotFoundException()
        {
            var error = new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound)
            {
                Content = new StringContent("No Personal Loan is found.")
            });

            // Log Exception
            Errors err = new Errors()
            {
                ExceptionType = error.GetType().ToString(),
                Message       = error.Message,
                Date          = DateTime.Now
            };

            errorService.LogError(err);
            throw error;
        }
Esempio n. 8
0
        public ActionResult Error(Exception exception)
        {
            HttpException httpException = exception as HttpException;

            if (httpException == null)
            {
                ViewBag.http_code = 500;
                HttpContext.Response.StatusCode = 500;
            }
            else
            {
                ViewBag.http_code = httpException.GetHttpCode();
                HttpContext.Response.StatusCode = httpException.GetHttpCode();
            }
            ViewBag.SHOW_ERROR_DETAILS = true;
            ViewBag.NeedLayaout        = "N";
            ViewBag.codeError          = ErrorService.LogError(exception);
            ViewBag.message            = ErrorService.LogErrorMessage(exception);
            return(View("Error"));
        }
Esempio n. 9
0
        public ActionResult Create(WebApplicationMod.Clientes model, string chk_activo, string chk_irfs, string chk_adm_cheq, string chk_contdolares, string chk_eeff, string chk_tesoreria, string chk_payroll, string chk_idioma, string chk_impu, string chk_snringles, string ivaselect)
        {
            // Almaceno el usuario creador de la empresa.
            model.Usu = "Jackermann";

            //Almaceno en el modelo la fecha de creación de la empresa.
            var fecha = DateTime.Now.ToString("yyyy-MM-dd");

            model.fingreso = DateTime.ParseExact(fecha, "yyyy-MM-dd", CultureInfo.InvariantCulture);

            // convierto los Checkbox de (str bool) a string y se los paso al modelo.
            model.Activo        = chk_activo == "true" ? "S" : "N";
            model.IRFS          = chk_irfs == "true" ? "S" : "N";
            model.AdmCheque     = chk_adm_cheq == "true" ? "S" : "N";
            model.CTD           = chk_contdolares == "true" ? "S" : "N";
            model.publicar_eeff = chk_eeff == "true" ? "S" : "N";
            model.TES           = chk_tesoreria == "true" ? "S" : "N";
            //model.RRHH = chk_payroll == "true" ? "S" : "N";
            model.RRHH     = chk_payroll == "true" ? "S" : "N";
            model.IIng     = chk_idioma == "true" ? "S" : "N";
            model.impsug   = chk_impu == "true" ? "S" : "N";
            model.snr_ingl = chk_snringles == "true" ? "S" : "N";
            model.Tipo     = ivaselect;

            try
            {
                if (ModelState.IsValid)
                {
                    _db.Clientes.Add(model);
                    _db.SaveChanges();
                    return(JsonExito());
                }
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Error"));
            }

            return(View());
        }
        public ActionResult eliminaCargos(int id)
        {
            try
            {
                ////int id_reg = Int32.Parse(id);
                var model = _db.GS_Cargos.FirstOrDefault(x => x.id == id);
                model.usuario_mod = SesionLogin().Sigla;
                model.estado      = 0;
                if (ModelState.IsValid)
                {
                    _db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                    _db.SaveChanges();
                    return(JsonExito());
                }
            }
            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Error"));
            }

            return(View());
        }
Esempio n. 11
0
        public ActionResult delete(int ID)
        {
            try
            {
                var model = _db.cab_anticipos.FirstOrDefault(p => p.id_anticipo == ID);
                if (model.fec_pago == null)
                {
                    var gs = _db.GS_Documentos.FirstOrDefault(u => u.ID == model.NumDoc);
                    if (gs != null)
                    {
                        _db.Entry(gs).State = System.Data.Entity.EntityState.Deleted;
                        _db.SaveChanges();
                    }

                    model.estado = "eliminado";
                    if (ModelState.IsValid)
                    {
                        _db.cab_anticipos.Attach(model);
                        _db.Entry(model).State = System.Data.Entity.EntityState.Modified;
                        _db.SaveChanges();
                        return(JsonExito());
                    }
                }
                else
                {
                    return(JsonError("Este anticipo posee Pago :( no se eliminará"));
                }


                return(JsonError("Hey !!! hubo un problema."));
            }
            catch (DbEntityValidationException e)
            {
                ErrorService.LogError(e);
                return(JsonError("Hey !!! hubo un problema."));
            }
        }
        public ActionResult UpdateDoc(GS_Documentos model, HttpPostedFileBase files)
        {
            try
            {
                int id_     = model.ID;
                var docu_gs = _db.GS_Documentos.FirstOrDefault(x => x.ID == id_);

                //valida movRe y Año imputacion
                if (model.MovRe != null)
                {
                    var fechaAux = model.MovRe;
                    var fechVal  = DateTime.Now;
                    var fechaCom = DateTime.Parse("2014-01-01");
                    if (fechaAux < fechaCom || fechaAux > fechVal)
                    {
                        return(JsonError("La 'Fecha de Recepcion' es menor a 2014 o es mayor a la 'fecha actual' "));
                    }
                }
                else if (model.CPBAño != null)
                {
                    var añoAux = Int32.Parse(model.CPBAño);
                    int añoVal = DateTime.Now.Year;
                    if (añoAux < 2010 || añoAux > añoVal)
                    {
                        return(JsonError("El 'Año de Imputacion' es menor a '2010' o es mayor a la 'fecha actual'"));
                    }
                }
                //variables para controlar si se hizo alguna modificacion

                var numCentCtrl  = docu_gs.NumCent;
                var folioFacCtrl = docu_gs.FolioSolFac;
                var movReCtrl    = docu_gs.MovRe;
                var cpbMesCtrl   = docu_gs.CPBMes;
                var cpbAñoCtrl   = docu_gs.CPBAño;
                var ctdCodCtrl   = docu_gs.CTDCod;
                var archivoCtrl  = docu_gs.Archivo;

                var    auxTip     = docu_gs.CTDCod;
                string oldNumCent = docu_gs.NumCent.ToString();
                docu_gs.NumCent     = model.NumCent;
                docu_gs.FolioSolFac = model.FolioSolFac;
                docu_gs.MovRe       = model.MovRe;
                docu_gs.CPBMes      = model.CPBMes;
                docu_gs.CPBAño      = model.CPBAño;
                docu_gs.CTDCod      = model.CTDCod;
                string auxDoc      = docu_gs.CodAux.ToString();
                string numDoc      = docu_gs.NumDocI.ToString();
                string tipoDoc     = docu_gs.CTDCod.ToString();
                string nombre_docu = auxDoc + "-" + numDoc + "-" + tipoDoc + ".PDF";
                string urlArchivo  = docu_gs.Archivo;
                string ruta        = @"P:\PSO\PROYECTOS IT\Impu Doc\Fac-Pro\";
                var    path        = ruta + nombre_docu;
                docu_gs.Archivo = path;     // se guarda la nueva ruta en archivo y urlArchivo guarda la anterior para hacer su posterior eliminacion...

                if (numCentCtrl == docu_gs.NumCent &&
                    folioFacCtrl == docu_gs.FolioSolFac &&
                    movReCtrl == docu_gs.MovRe &&
                    cpbMesCtrl == docu_gs.CPBMes &&
                    cpbAñoCtrl == docu_gs.CPBAño &&
                    ctdCodCtrl == docu_gs.CTDCod &&
                    archivoCtrl == docu_gs.Archivo &&
                    files == null)
                {
                    return(JsonExitoMsg("SinCambios"));
                }
                else
                {
                    if (oldNumCent != model.NumCent.ToString())
                    {
                        ControlModNumComprobante(oldNumCent, model.NumCent.ToString());
                    }
                    if (files == null && auxTip == model.CTDCod)
                    {
                        ControlUpdate(id_, docu_gs.CPBAño, docu_gs.CPBMes, docu_gs.FolioSolFac.ToString(), docu_gs.CTDCod, docu_gs.NumCent.ToString(), docu_gs.MovRe.ToString(), docu_gs.Archivo);

                        _db.Entry(docu_gs).State = System.Data.Entity.EntityState.Modified;
                        _db.SaveChanges();

                        return(JsonExitoMsg("Actualizado"));
                    }
                    else if (files == null && auxTip != model.CTDCod)
                    {
                        if (ModelState.IsValid)
                        {
                            //guarda la instruccion en ctrl_accion
                            ControlUpdate(id_, docu_gs.CPBAño, docu_gs.CPBMes, docu_gs.FolioSolFac.ToString(), docu_gs.CTDCod, docu_gs.NumCent.ToString(), docu_gs.MovRe.ToString(), docu_gs.Archivo);

                            System.IO.File.Move(urlArchivo, path);
                            _db.Entry(docu_gs).State = System.Data.Entity.EntityState.Modified;
                            _db.SaveChanges();

                            System.IO.File.Delete(urlArchivo);
                        }
                        else
                        {
                            return(JsonError("Modelo ingresado no valido"));
                        }

                        return(JsonExitoMsg("Actualizado"));
                    }

                    else
                    {
                        string auxExt = files.FileName;
                        string ext    = Path.GetExtension(auxExt).ToLower();
                        if (ext != ".pdf")
                        {
                            return(JsonError("No es compatible la extension del archivo. Solo Pdf"));
                        }
                        else
                        {
                            var data = new byte[files.ContentLength];
                            files.InputStream.Read(data, 0, files.ContentLength);

                            using (var sw = new FileStream(path, FileMode.Create, FileAccess.ReadWrite))
                            {
                                sw.Write(data, 0, data.Length);
                            }

                            if (ModelState.IsValid)
                            {
                                //guarda la instruccion en ctrl_accion
                                ControlUpdate(id_, docu_gs.CPBAño, docu_gs.CPBMes, docu_gs.FolioSolFac.ToString(), docu_gs.CTDCod, docu_gs.NumCent.ToString(), docu_gs.MovRe.ToString(), docu_gs.Archivo);
                                _db.Entry(docu_gs).State = System.Data.Entity.EntityState.Modified;
                                _db.SaveChanges();

                                if (urlArchivo != path)
                                {
                                    System.IO.File.Delete(urlArchivo);
                                }
                            }
                            else
                            {
                                return(JsonError("Modelo ingresado no valido"));
                            }
                            return(JsonExitoMsg("Actualizado"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(ErrorService.LogError(e)));
            }
        }
Esempio n. 13
0
        public JsonResult Edit(GS_Documentos model, string Tipo, string emision, string vencimiento, HttpPostedFileBase file)
        {
            try
            {
                DateTime fechaEm, fechaVe;

                if (!DateTime.TryParse(emision, out fechaEm) || !DateTime.TryParse(vencimiento, out fechaVe))
                {
                    return(JsonError("formato de fecha no valido"));
                }
                //en caso que se ingrese un documento nuevo, retornara al mensaje que esta dentro del if...
                if (file != null && model.ID == 0)
                {
                    string extension = Path.GetExtension(file.FileName);
                    if (extension != ".pdf")
                    {
                        return(JsonError("Tipo de archivo incorrecto , Ingrese pdf"));
                    }

                    if (model.TCambio == 0)
                    {
                        return(JsonError("El tipo de cambio debe ser mayor a 0"));
                    }

                    string auxDoc      = model.CodAux.ToString();
                    string numDoc      = model.NumDocI.ToString();
                    string tipoDoc     = model.CTDCod.ToString();
                    string nombre_docu = auxDoc + "-" + numDoc + "-" + tipoDoc + ".PDF";
                    string rutaG       = @"\\atenea\puentesur\PSO\PROYECTOS IT\Impu Doc\Fac-Pro\";
                    string nuevo       = Path.Combine(rutaG, nombre_docu);
                    var    data        = new byte[file.ContentLength];
                    file.InputStream.Read(data, 0, file.ContentLength);
                    GS_Documentos documento = new GS_Documentos();
                    documento.CPBAño   = model.CPBAño;
                    documento.CPBMes   = model.CPBMes;
                    documento.CodAux   = model.CodAux;
                    documento.CTDCod   = model.CTDCod;
                    documento.NumDocI  = model.NumDocI;
                    documento.MovFe    = fechaEm;
                    documento.MovFv    = fechaVe;
                    documento.VendCod  = "1";
                    documento.MovGlosa = model.MovGlosa;
                    documento.Neto     = Tipo != "exento" ? model.Neto : 0;
                    documento.Impu     = Tipo != "exento" ? model.Impu : 0;
                    documento.NetoSM   = Tipo != "exento" ? Math.Abs((Math.Round(((Convert.ToDouble(model.Neto)) / Convert.ToDouble(model.TCambio)), 5))) : 0;
                    documento.ImpuSM   = Tipo != "exento" ? Math.Abs((Math.Round(((Convert.ToDouble(model.Impu)) / Convert.ToDouble(model.TCambio)), 5))) : 0;
                    documento.Exento   = model.Exento;
                    documento.Total    = model.Total;
                    documento.NomAux   = model.NomAux;
                    documento.Archivo  = nuevo;
                    documento.Usu      = SesionLogin().Nom;
                    documento.CLIENTE  = model.CLIENTE;
                    documento.Creacion = DateTime.Now;
                    documento.Scaneo   = DateTime.Now;
                    documento.ExentoSM = Math.Abs(Math.Round(((Convert.ToDouble(model.Exento)) / Convert.ToDouble(model.TCambio)), 5));
                    documento.TotalSM  = Math.Abs((Math.Round(((Convert.ToDouble(model.Total)) / Convert.ToDouble(model.TCambio)), 5)));
                    documento.TCambio  = model.TCambio;
                    documento.tst      = null;
                    documento.Entrega  = null;
                    documento.UsuEnt   = null;
                    documento.recep    = null;
                    documento.ting     = "GS-SO";
                    documento.fcrea    = DateTime.Now;
                    documento.flingdoc = fechaVe;
                    documento.folioint = null;
                    documento.CabGlo   = model.CabGlo;
                    documento.MovRe    = DateTime.Now;
                    _db.GS_Documentos.Add(documento);
                    _db.SaveChanges();
                    using (var sw = new FileStream(nuevo, FileMode.Create, FileAccess.Write))
                    {
                        sw.Write(data, 0, data.Length);
                    }
                    return(JsonExitoMsg("documento guardado"));
                }///fin del create.............

                var movglosa = model.MovGlosa.Trim();
                if (model.TCambio == 0)
                {
                    return(JsonError("El tipo de cambio debe ser mayor a 0"));
                }

                var rutDocs = (from x in _db.Docs where x.ID == model.ID select new { rut = x.Rut }).FirstOrDefault();

                ////verificar que el periodo no se encuentre cerrado
                //var i = (from clie in _db.Clientes where clie.Rut == rutDocs.rut select new { id = clie.ID }).FirstOrDefault();
                //var quer = (from f in _db.GS_ctrl_cump where f.nulo == null && f.tipo == 3 && f.clasif == "R" && f.clie == i.id && (f.periodo.Value).Month == int.Parse(model.CPBMes) && (f.periodo.Value).Year == int.Parse(model.CPBAño) select f).Any();
                //  if (!quer)
                //  {
                //    return JsonError("El periodo de imputación se encuentra cerrado");
                // }
                //var datos = (from x in _db.Clientes where x.Rut == rutDocs.rut select x).ToList();

                var dat     = _db.Clientes.FirstOrDefault(x => x.Rut == rutDocs.rut).Ruta.Split('\\').Last();
                var rut_pro = model.CodAux;
                var num_doc = model.NumDocI.ToString();
                //Verificar la existencia del documento en las tablas de GS
                var existe = (from gdoc in _db.GS_Documentos
                              where gdoc.CodAux == model.CodAux && gdoc.NumDocI == model.NumDocI && gdoc.CTDCod == model.CTDCod && model.UsuEnt != null && model.Entrega != null
                              select new
                {
                    codaux = gdoc.CodAux,
                    numdocI = gdoc.NumDocI,
                    ctdcod = gdoc.CTDCod
                }).Any();

                if (existe)
                {
                    return(JsonError("Este Auxiliar ya tiene registrado,documento de este tipo y con este número en GS"));
                }

                //Verificar la existencia del documento en las tablas de softland
                List <SqlParameter> para = new List <SqlParameter>()
                {
                    new SqlParameter("@Cliente", System.Data.SqlDbType.NVarChar)
                    {
                        Value = dat
                    },
                    new SqlParameter("@Rut_proveedor", System.Data.SqlDbType.NVarChar)
                    {
                        Value = rut_pro
                    },
                    new SqlParameter("@Tipo_Doc", System.Data.SqlDbType.NVarChar)
                    {
                        Value = model.CTDCod
                    },
                    new SqlParameter("@Num_Doc", System.Data.SqlDbType.NVarChar)
                    {
                        Value = num_doc
                    },
                    new SqlParameter("@counts", System.Data.SqlDbType.Int)
                    {
                        Value = 0
                    }
                };

                var validar = PA_Almacenado(para, "PA_Valida_Existe_Documento");

                if (validar == 1)
                {
                    return(JsonError("Este Auxiliar ya tiene registrado, un documento de este tipo y con este numero en Softland "));
                }

                string uparchivo = "";

                var gsDocumento = _db.GS_Documentos.SingleOrDefault(p => p.ID == model.ID);

                if (file != null)
                {
                    var rutaantig = gsDocumento.Archivo;
                    if (model.Archivo != null)
                    {
                        //Borrar original
                        System.IO.File.Delete(rutaantig);
                    }
                    //Generar archivo con el formato codaux+numdoc + tipodoc
                    string auxDoc      = model.CodAux.ToString();
                    string numDoc      = model.NumDocI.ToString();
                    string tipoDoc     = model.CTDCod.ToString();
                    string nombre_docu = auxDoc + "-" + numDoc + "-" + tipoDoc + ".PDF";
                    string rutaG       = @"\\atenea\puentesur\PSO\PROYECTOS IT\Impu Doc\Fac-Pro\";
                    var    nuevoarch   = rutaG + nombre_docu;
                    //Nueva Ruta archivo en la base de datos
                    gsDocumento.Archivo = nuevoarch;
                    var data = new byte[file.ContentLength];
                    file.InputStream.Read(data, 0, file.ContentLength);
                    //Grabar nuevo
                    using (var sw = new FileStream(nuevoarch, FileMode.Create, FileAccess.Write))
                    {
                        sw.Write(data, 0, data.Length);
                    }
                    uparchivo = ", GS_Documentos.Archivo = " + model.Archivo;
                }

                gsDocumento.NumDocI  = model.NumDocI;
                gsDocumento.CTDCod   = model.CTDCod;
                gsDocumento.Neto     = Tipo != "exento" ? model.Neto : 0;
                gsDocumento.Impu     = Tipo != "exento" ? model.Impu : 0;
                gsDocumento.NetoSM   = Tipo != "exento" ? (Math.Round(((Convert.ToDouble(model.Neto)) / Convert.ToDouble(model.TCambio)), 5)) : 0;
                gsDocumento.ImpuSM   = Tipo != "exento" ? (Math.Round(((Convert.ToDouble(model.Impu)) / Convert.ToDouble(model.TCambio)), 5)) : 0;
                gsDocumento.Exento   = model.Exento;
                gsDocumento.Total    = model.Total;
                gsDocumento.TCambio  = model.TCambio;
                gsDocumento.CPBAño   = model.CPBAño;
                gsDocumento.CPBMes   = model.CPBMes;
                gsDocumento.MovFv    = fechaVe;
                gsDocumento.MovFe    = fechaEm;
                gsDocumento.ExentoSM = (Math.Round(((Convert.ToDouble(model.Exento)) / Convert.ToDouble(model.TCambio)), 5));
                gsDocumento.TotalSM  = (Math.Round(((Convert.ToDouble(model.Total)) / Convert.ToDouble(model.TCambio)), 5));
                gsDocumento.MovGlosa = movglosa;
                string sql = "UPDATE GS_Documentos  SET  GS_Documentos.NumDocI = " + model.NumDocI +
                             ", GS_Documentos.CTDCod = " + model.CTDCod +
                             ", GS_Documentos.Neto = " + model.Neto +
                             ", GS_Documentos.Exento = " + model.Exento +
                             ", GS_Documentos.Impu = " + model.Impu +
                             ", GS_Documentos.Total = " + model.Total +
                             ", GS_Documentos.TCambio = " + model.TCambio +
                             ", GS_Documentos.CPBAño = " + model.CPBAño +
                             ", GS_Documentos.CPBMes = " + model.CPBMes +
                             ", GS_Documentos.MovFv = " + fechaVe +
                             ", GS_Documentos.MovFe = " + fechaEm + ", GS_Documentos.MovGlosa = " + movglosa + uparchivo;

                registrarAccion(sql);
                _db.Entry(gsDocumento).State = System.Data.Entity.EntityState.Modified;
                _db.SaveChanges();
                return(JsonExito());
            }

            catch (Exception ex)
            {
                ErrorService.LogError(ex);
                return(JsonError("Hubo un error.! " + ex.Message));
            }
        }