示例#1
0
        public ActionResult Save(IglesiaViewModel model, HttpPostedFileBase file)
        {
            if (file != null && file.ContentLength > 0)
            {
                byte[] imagenData = null;

                using (var imagen = new BinaryReader(file.InputStream))
                {
                    imagenData = imagen.ReadBytes(file.ContentLength);
                }
                model.Imagen = imagenData;
            }


            try
            {
                using (var db = new IglesiaFinalEntities2())
                {
                    var tb = new Iglesia();

                    tb.Id_Iglesia                     = model.Id_Iglesia;
                    tb.Sexo_DP                        = model.Sexo_DP;
                    tb.Apellidos_DP                   = model.Apellidos_DP;
                    tb.Nombres_DP                     = model.Nombres_DP;
                    tb.FechaNacimiento_DP             = model.FechaNacimiento_DP;
                    tb.PaisNacimiento_DP1             = model.PaisNacimiento_DP1;
                    tb.CiudadNacimiento_DP            = model.CiudadNacimiento_DP;
                    tb.PaisResidenciaActual_DP        = model.PaisResidenciaActual_DP;
                    tb.CiudadResidneciaActual_DP      = model.CiudadResidneciaActual_DP;
                    tb.Direccion_DP                   = model.Direccion_DP;
                    tb.Telefono_DP                    = model.Telefono_DP;
                    tb.Celular_DP                     = model.Celular_DP;
                    tb.Correo_DP                      = model.Correo_DP;
                    tb.TipoIdentidad_DP               = model.TipoIdentidad_DP;
                    tb.DocumentoIdentidad_DP          = model.DocumentoIdentidad_DP;
                    tb.EstadoCivil_DF                 = model.EstadoCivil_DF;
                    tb.NombrePareja_DF                = model.NombrePareja_DF;
                    tb.Hijos_DF                       = model.Hijos_DF;
                    tb.NoHijos_DF                     = model.NoHijos_DF;
                    tb.Profesion_DL                   = model.Profesion_DL;
                    tb.OcupacionActual_DL             = model.OcupacionActual_DL;
                    tb.NombreEmpresa_DL               = model.NombreEmpresa_DL;
                    tb.EmpresaTelefono_DL             = model.EmpresaTelefono_DL;
                    tb.FechaConvencion_DE             = model.FechaConvencion_DE;
                    tb.FechaBautismo_DE               = model.FechaBautismo_DE;
                    tb.FechaAceptado_DE               = model.FechaAceptado_DE;
                    tb.Denominacion_DE                = model.Denominacion_DE;
                    tb.NombreIglesiaActual_DE         = model.NombreIglesiaActual_DE;
                    tb.IglesiaMenorTiempo_DE          = model.IglesiaMenorTiempo_DE;
                    tb.IglesiaAnterior_DE             = model.IglesiaAnterior_DE;
                    tb.PastorActual_DE                = model.PastorActual_DE;
                    tb.SidoDisciplenado_DE            = model.SidoDisciplenado_DE;
                    tb.DisciplinaVeces_DE             = model.DisciplinaVeces_DE;
                    tb.DisciplinaCausas_DE            = model.DisciplinaCausas_DE;
                    tb.FuncionesOcupadaActural_DE     = model.FuncionesOcupadaActural_DE;
                    tb.MinisteriosAnteriores_DE       = model.MinisteriosAnteriores_DE;
                    tb.MinisteriosMayorFruto_DE       = model.MinisteriosMayorFruto_DE;
                    tb.MinisteriosMayorFrutoPorque_DE = model.MinisteriosMayorFrutoPorque_DE;
                    tb.MinisterioLlamado_DE           = model.MinisterioLlamado_DE;
                    tb.MetasVida_DE                   = model.MetasVida_DE;
                    tb.RespaldoIglesia_DE             = model.RespaldoIglesia_DE;
                    tb.NivelEstudio_DA                = model.NivelEstudio_DA;
                    tb.VezEspulsado_DA                = model.VezEspulsado_DA;
                    tb.VezEspulsadoPorque_DA          = model.VezEspulsadoPorque_DA;
                    tb.PaisNacimiento_DP              = model.PaisNacimiento_DP;
                    tb.Foto = model.Imagen;

                    if (model.Id_Iglesia != 0)
                    {
                        //   db.Estudiantes.Add(tb);
                        tb.Id_Iglesia      = model.Id_Iglesia;
                        db.Entry(tb).State = System.Data.Entity.EntityState.Modified;
                    }
                    else
                    {
                        db.Iglesias.Add(tb);
                    }
                    db.SaveChanges();
                }
                return(RedirectToAction("Index", "Iglesia"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public async Task <ActionResult> Create(Usuario entidad)
        {
            Persona aux        = new Persona();
            Pais    auxPais    = new Pais();
            Iglesia auxIgle    = new Iglesia();
            string  contrasena = Cryptography.RandomPassword();

            entidad.Contrasena = contrasena;
            PasswordMail.UsuarioCreado(entidad.Usuario1, entidad.Contrasena, entidad.Correo);
            entidad.MontoAdeudado = 0;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage res = await client.GetAsync("api/Persona/GetOneByString/5?id=" + entidad.Cedula);

                HttpResponseMessage resIglesia = await client.GetAsync("api/Iglesia/GetOneById/5?id= " + entidad.IdIglesia);

                if (res.IsSuccessStatusCode && resIglesia.IsSuccessStatusCode)
                {
                    var auxRes     = res.Content.ReadAsStringAsync().Result;
                    var auxResIgle = resIglesia.Content.ReadAsStringAsync().Result;

                    aux     = JsonConvert.DeserializeObject <Persona>(auxRes);
                    auxIgle = JsonConvert.DeserializeObject <Iglesia>(auxResIgle);

                    res = await client.GetAsync("api/Pais/GetOneById/5?id= " + aux.IdPais);

                    if (res.IsSuccessStatusCode)
                    {
                        auxRes = res.Content.ReadAsStringAsync().Result;

                        auxPais = JsonConvert.DeserializeObject <Pais>(auxRes);
                    }
                }
            }
            entidad.Descuento  = (int)auxPais.Descuento + (int)auxIgle.Descuento;
            entidad.Contrasena = Cryptography.Encrypt(entidad.Contrasena);
            entidad.IsTemp     = true;
            entidad.LoginCount = 0;
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_baseurl);

                var myContent   = JsonConvert.SerializeObject(entidad);
                var buffer      = Encoding.UTF8.GetBytes(myContent);
                var byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var postTask = client.PostAsync("api/Usuario/Insert", byteContent).Result;

                var result = postTask;
                if (result.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
            }
            ModelState.AddModelError(string.Empty, "Server Error, Please contact administrator");
            return(View(entidad));
        }
        public async Task <ActionResult> Create(Factura entidad)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(_baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage res = await client.GetAsync("api/Usuario/GetOneByString/5?id=" + entidad.Encabezado.IdEstudiante);

                var     auxRes = res.Content.ReadAsStringAsync().Result;
                Usuario aux    = JsonConvert.DeserializeObject <Usuario>(auxRes);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage res2 = await client.GetAsync("api/Iglesia/GetOneById/5?id= " + aux.IdIglesia);

                var     auxRes2 = res2.Content.ReadAsStringAsync().Result;
                Iglesia aux2    = JsonConvert.DeserializeObject <Iglesia>(auxRes);
                entidad.Encabezado.IdEncabezado = Cryptography.RandomID().ToUpper();
                entidad.Encabezado.FechaPago    = System.DateTime.Now;
                List <LineaFactura> lineas = new List <LineaFactura>();
                entidad.Lineas = lineas;
                for (int i = 0; i < entidad.Productos.Count(); i++)
                {
                    if (entidad.Productos[i].isChecked)
                    {
                        entidad.Lineas.Add(new LineaFactura()
                        {
                            IdProducto   = entidad.Productos[i].IdProducto,
                            IdEncabezado = entidad.Encabezado.IdEncabezado,
                            Descripcion  = entidad.Encabezado.Direccion
                        });
                    }
                }
                if (entidad.Encabezado.TotalCobrar - entidad.Encabezado.TotalPagar > 0)
                {
                    aux.MontoAdeudado = (float)entidad.Encabezado.TotalCobrar - (float)entidad.Encabezado.TotalPagar;
                }
                if (entidad.Encabezado.TotalCobrar == 0 && entidad.Encabezado.TotalPagar > 0)
                {
                    aux.MontoAdeudado -= (float)entidad.Encabezado.TotalPagar;
                }
                var myContent   = JsonConvert.SerializeObject(entidad.Encabezado);
                var buffer      = Encoding.UTF8.GetBytes(myContent);
                var byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                var postTask = client.PostAsync("api/EncabezadoFactura/Insert", byteContent).Result;
                myContent   = JsonConvert.SerializeObject(aux);
                buffer      = Encoding.UTF8.GetBytes(myContent);
                byteContent = new ByteArrayContent(buffer);
                byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                postTask = client.PostAsync("api/Usuario/Update", byteContent).Result;
                System.Threading.Thread.Sleep(1000);
                foreach (LineaFactura item in lineas)
                {
                    client.DefaultRequestHeaders.Clear();
                    myContent   = JsonConvert.SerializeObject(item);
                    buffer      = Encoding.UTF8.GetBytes(myContent);
                    byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                    postTask = client.PostAsync("api/LineaFactura/Insert", byteContent).Result;
                }


                var result = postTask;
                if (result.IsSuccessStatusCode)
                {
                    return(RedirectToAction("Index"));
                }
            }
            ModelState.AddModelError(string.Empty, "Server Error, Please contact administrator");
            return(View(entidad));
        }