예제 #1
0
        public bool CargarArchivoOriginacion(ref DocumentoOriginacion documents, HttpPostedFileBase hpf)
        {
            try
            {
                documents.nombreDoc = documents.nombreDoc.Replace("Ñ", "N").Replace("ñ", "n");
                documents.nombreDoc = documents.nombreDoc.Replace("á", "a").Replace("é", "e").Replace("í", "i").Replace("ó", "o").Replace("ú", "u");
                documents.nombreDoc = documents.nombreDoc.Replace("Á", "A").Replace("É", "E").Replace("Í", "I").Replace("Ó", "O").Replace("Ú", "U");

                Regex regex = new Regex("(.pdf|.png|.jpeg|.jpg)$");

                Match match = regex.Match(documents.nombreDoc);

                String extension = "";

                if (match.Success)
                {
                    extension = match.Value;
                }
                documents.path  = $@"{ConfigurationManager.AppSettings["rutaRaiz"]}\DOCUMENTOS_ORIGINACION\" + documents.folder + "\\" + documents.dependencia;
                documents.path += (documents.producto != null) ? "\\" + documents.producto : "";
                var firma      = (documents.firma == 1) ? "_firma" : "";
                var expediente = (documents.expedienteCompleto == 1) ? "_expediente_completo" : "";
                documents.nombreDoc = regex.Replace(documents.nombreDoc, "_" + firma + expediente + extension);
                documents.nombreDoc = documents.nombreDoc.Replace(" ", "_");
                if (!Directory.Exists(documents.path))
                {
                    Directory.CreateDirectory(documents.path);
                }
                if (File.Exists(documents.path + "\\" + documents.nombreDoc))
                {
                    File.Delete(documents.path + "\\" + documents.nombreDoc);
                }

                var savedFileName = Path.Combine(documents.path, documents.nombreDoc);
                hpf.SaveAs(savedFileName);
                LogHelper.WriteLog("Models", "ManageDocuments", "CargarArchivo", new Exception(), "Guarda Expediente Completo");
                if (!File.Exists(savedFileName))
                {
                    documents.msg.errorCode    = "300";
                    documents.msg.errorMessage = "Error Al subir el Archivo Intente Nuevamente";
                    LogHelper.WriteLog("Models", "ManageDocuments", "CargarArchivo", null, savedFileName);
                    return(false);
                }
                documents.file = null;
                documents.path = savedFileName;
                ProfileDAO dao = new ProfileDAO();
                if (documents.firma == 1)
                {
                    var existe = dao.docExiste(documents.codigo_doc, documents.folder);
                    if (existe[0] == "0")
                    {
                        documents.msg = dao.cargaDocumentosOriginacion(ref documents);
                    }
                    else
                    {
                        var actualiza = new ManageProfile().updDocFirma(documents.codigo_doc, double.Parse(existe[2]), documents.folder, documents.path, existe[1]);
                        if (actualiza)
                        {
                            documents.msg.errorCode    = "0";
                            documents.msg.errorMessage = "Documento Actualizado con Exito";
                        }
                        else
                        {
                            documents.msg.errorCode    = "88";
                            documents.msg.errorMessage = "Error actualizando el documento. Por favor intente más tarde";
                        }
                        //documents.msg = dao.actualizaDocOriginacion(double.Parse(existe[2]), documents.folder, documents.nombreDoc, documents.path);
                    }
                }
                else
                {
                    documents.msg = dao.cargaDocumentosOriginacion(ref documents);
                }
                return(true);
            }
            catch (Exception e)
            {
                documents.msg.errorCode    = "320";
                documents.msg.errorMessage = "Error Al subir el Archivo Intente Nuevamente";
                LogHelper.WriteLog("Models", "ManageDocuments", "CargarArchivo", e, documents.nombreDoc);
                return(false);
            }
        }