Esempio n. 1
0
 public ArchivoResponse subirFoto(ArchivoRequest request)
 {
     return(new ArchivoResponse {
         ErrorMensaje = "No implementado",
         ErrorNumero = 1
     });
 }
Esempio n. 2
0
 public CommandResponse <ArchivoResponse> UploadFile([FromBody] ArchivoRequest request)
 {
     return(this.TryCatch(() =>
     {
         var archivo = _archivoAplicacion.UploadFileTemp(request);
         return _Response(data: archivo);
     }));
 }
Esempio n. 3
0
        public Response Insertar(ArchivoRequest archivoRequest)
        {
            var folder = "";
            var file   = string.Format("");

            switch (archivoRequest.Tipo)
            {
            case 1:
                folder = "~/Content/Cliente/Foto";
                file   = string.Format("{0}.jpg", archivoRequest.Id);
                break;

            case 2:
                folder = "~/Content/Cliente/Firma";
                file   = string.Format("{0}.png", archivoRequest.Id);
                break;

            case 3:
                folder = "~/Content/Usuario/Vendedor/Foto";
                file   = string.Format("{0}.jpg", archivoRequest.Id);
                break;

            case 4:
                folder = "~/Content/Visita/Firma";
                file   = string.Format("{0}.png", archivoRequest.Id);
                break;
            }

            var stream   = new MemoryStream(archivoRequest.Array);
            var fullPath = string.Format("{0}/{1}", folder, file);
            var response = FileHelper.UploadFoto(stream, folder, file);

            if (!response)
            {
                new Response
                {
                    IsSuccess = false,
                    Message   = Mensaje.Error,
                };
            }


            return(new Response
            {
                IsSuccess = true,
                Message = Mensaje.Satisfactorio,
                Resultado = fullPath
            });
        }
Esempio n. 4
0
        public async Task <Response> SetFileAsync(string Id, int Tipo, Stream stream)
        {
            try
            {
                var array = ReadFully(stream);

                var archivoRequest = new ArchivoRequest
                {
                    Id    = Id,
                    Tipo  = Tipo,
                    Array = array,
                };

                var request = JsonConvert.SerializeObject(archivoRequest);
                var body    = new StringContent(request, Encoding.UTF8, "application/json");
                var client  = new HttpClient();
                client.BaseAddress = new Uri(Constants.Constants.VentasWS);
                var url      = "Api/Archivos/Insertar";
                var response = await client.PostAsync(url, body);

                if (!response.IsSuccessStatusCode)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = response.StatusCode.ToString(),
                    });
                }

                var result = await response.Content.ReadAsStringAsync();

                var imagen = JsonConvert.DeserializeObject <Response>(result);
                //   var ruta = JsonConvert.DeserializeObject <string>(imagen.Result.ToString());

                return(imagen);
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    IsSuccess = false,
                    Message = ex.Message,
                });
            }
        }
Esempio n. 5
0
        public IActionResult UploadFileTemp()
        {
            var file = Request.Form.Files[0];
            var ms   = new MemoryStream();

            file.CopyToAsync(ms);
            byte[] filesBytes = ms.ToArray();
            var    request    = new ArchivoRequest
            {
                content  = filesBytes,
                fileName = file.FileName,
                size     = file.Length,
                mimetype = file.ContentType
            };
            var result = _archivoComando.UploadFileTemp(request);

            return(_Response(result));
        }
Esempio n. 6
0
        public ArchivoResponse UploadFileTemp(ArchivoRequest request)
        {
            string path = _appSettings.RemotePathTempDocs;

            string guid    = Guid.NewGuid().ToString();
            string newPath = Path.Combine(path, guid);

            if (!Directory.Exists(newPath))
            {
                Directory.CreateDirectory(newPath);
            }
            if (request.size > 0)
            {
                string fullPath = Path.Combine(newPath, request.fileName);
                File.WriteAllBytes(fullPath, request.content);
            }
            var archivo = new ArchivoResponse {
                id = guid, fileName = request.fileName, mimetype = request.mimetype, size = request.size
            };

            return(archivo);
        }
Esempio n. 7
0
        public async Task <ActionResult> Create(HttpPostedFileBase fileUpload, string Latitud, string Longitud, ClienteRequest clienteRequest)
        {
            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;
                var lat            = Latitud.Replace(".", ",");
                var lon            = Longitud.Replace(".", ",");

                clienteRequest.Latitud  = Convert.ToDouble(lat);
                clienteRequest.Longitud = Convert.ToDouble(lon);

                var cliente = new ClienteRequest
                {
                    Identificacion = clienteRequest.Identificacion,
                    IdEmpresa      = Convert.ToInt32(idEmpresa),
                };

                var respuesta = await ApiServicio.ObtenerElementoAsync1 <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                                   , "api/Clientes/ExisteClientePorEmpresa");

                if (respuesta == null)
                {
                    ModelState.AddModelError("", "Ha ocurrido un error al conectarse al servicio...");
                    await CargarCombos();

                    return(View(clienteRequest));
                }

                if (respuesta.IsSuccess == true)
                {
                    ModelState.AddModelError("Identificacion", "El cliente ya existe...");

                    await CargarCombos();

                    clienteRequest.Identificacion = "";
                    return(View(clienteRequest));
                }


                cliente.Apellido      = clienteRequest.Apellido;
                cliente.Direccion     = clienteRequest.Direccion;
                cliente.Email         = clienteRequest.Email;
                cliente.IdTipoCliente = Convert.ToInt32(clienteRequest.IdTipoCliente);
                cliente.IdVendedor    = Convert.ToInt32(clienteRequest.IdVendedor);
                cliente.Latitud       = Convert.ToDouble(clienteRequest.Latitud);
                cliente.Longitud      = Convert.ToDouble(clienteRequest.Longitud);
                cliente.Nombre        = clienteRequest.Nombre;
                cliente.Telefono      = clienteRequest.Telefono;
                cliente.TelefonoMovil = clienteRequest.TelefonoMovil;
                cliente.RazonSocial   = clienteRequest.RazonSocial;
                cliente.Estado        = EstadoCliente.Activo;


                var respuestaInsertar = await ApiServicio.InsertarAsync <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                                   , "api/Clientes/InsertarCliente");


                if (respuestaInsertar.IsSuccess)
                {
                    if (fileUpload != null)
                    {
                        var clienteSalvado = JsonConvert.DeserializeObject <ClienteRequest>(respuestaInsertar.Resultado.ToString());
                        var fichero        = readFileContents(fileUpload);
                        var foto           = new ArchivoRequest {
                            Id = Convert.ToString(clienteSalvado.IdCliente), Array = fichero, Tipo = 1
                        };


                        var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                     , "Api/Archivos/Insertar");

                        if (fotoRequest.IsSuccess)
                        {
                            var clienteActualizarFoto = new ClienteRequest
                            {
                                IdCliente = clienteSalvado.IdCliente,
                                Foto      = fotoRequest.Resultado.ToString(),
                            };
                            var fotoActualizar = await ApiServicio.InsertarAsync <Response>(clienteActualizarFoto, new Uri(WebApp.BaseAddress)
                                                                                            , "api/Clientes/EditarFotoCliente");

                            if (fotoActualizar.IsSuccess)
                            {
                                return(RedirectToAction("Index", EstadoCliente.Activo));
                            }
                        }
                    }



                    return(RedirectToAction("Index", EstadoCliente.Activo));
                }


                return(RedirectToAction("Index", EstadoCliente.Activo));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 8
0
        public async Task <ActionResult> EditarVendedor(HttpPostedFileBase fileUpload, VendedorRequest vendedorRequest)
        {
            InicializarMensaje(Mensaje.GuardadoSatisfactorio);
            int idEmpresaInt = 0;


            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);
                vendedorRequest.idEmpresa         = idEmpresaInt;
                vendedorRequest.TiempoSeguimiento = 5;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(vendedorRequest));
            }


            if (!ModelState.IsValid)
            {
                InicializarMensaje(Mensaje.ModeloInvalido);
                return(View(vendedorRequest));
            }

            Response response = new Response();

            ApplicationDbContext db = new ApplicationDbContext();

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var userManager2     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                    var InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                    if (InstanciaUsuario != null && InstanciaUsuario.Id != vendedorRequest.IdUsuario)
                    {
                        InicializarMensaje(Mensaje.ExisteCorreo);
                        return(View(vendedorRequest));
                    }

                    var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                                          new Uri(WebApp.BaseAddress),
                                                                                                          "api/Vendedores/BuscarUsuariosVendedoresPorEmpresaEIdentificacion");

                    if (ExisteUsuario.Count > 0)
                    {
                        for (int i = 0; i < ExisteUsuario.Count; i++)
                        {
                            if (ExisteUsuario.ElementAt(i).IdUsuario != vendedorRequest.IdUsuario)
                            {
                                InicializarMensaje(Mensaje.ExisteIdentificacionUsuario);
                                return(View(vendedorRequest));
                            }
                        }
                    }


                    var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                    InstanciaUsuario = await userManager.FindByIdAsync(vendedorRequest.IdUsuario);

                    InstanciaUsuario.UserName       = vendedorRequest.Correo;
                    InstanciaUsuario.Email          = vendedorRequest.Correo;
                    InstanciaUsuario.Identificacion = vendedorRequest.Identificacion;
                    InstanciaUsuario.Nombres        = vendedorRequest.Nombres;
                    InstanciaUsuario.Apellidos      = vendedorRequest.Apellidos;
                    InstanciaUsuario.Direccion      = vendedorRequest.Direccion;
                    InstanciaUsuario.Telefono       = vendedorRequest.Telefono;

                    InstanciaUsuario.Estado    = 1;
                    InstanciaUsuario.IdEmpresa = idEmpresaInt;


                    db.Entry(InstanciaUsuario).State = EntityState.Modified;
                    await db.SaveChangesAsync();



                    response = await ApiServicio.InsertarAsync(vendedorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/EditarVendedor");


                    if (response.IsSuccess)
                    {
                        if (fileUpload != null)
                        {
                            var idVendedor = response.Resultado;


                            var fichero = readFileContents(fileUpload);
                            var foto    = new ArchivoRequest {
                                Id = Convert.ToString(vendedorRequest.IdVendedor), Array = fichero, Tipo = 3
                            };


                            var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                         , "Api/Archivos/Insertar");

                            if (fotoRequest.IsSuccess)
                            {
                                InstanciaUsuario.Foto = fotoRequest.Resultado.ToString();

                                db.Entry(InstanciaUsuario).State = EntityState.Modified;
                                await db.SaveChangesAsync();

                                transaction.Commit();

                                return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                            }
                            else
                            {
                                transaction.Rollback();
                                return(RedirectToAction("VendedorIndex", new { mensaje = Mensaje.Error }));
                            }
                        }
                        else
                        {
                            transaction.Commit();

                            return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                        }
                    }

                    transaction.Rollback();

                    ViewData["Error"] = response.Message;
                    return(View(vendedorRequest));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();

                    ViewData["Error"] = response.Message;
                    return(View(vendedorRequest));
                }
            }
        }
Esempio n. 9
0
        public async Task <ActionResult> CrearVendedor(HttpPostedFileBase fileUpload, VendedorRequest vendedorRequest)
        {
            InicializarMensaje("");

            int idEmpresaInt = 0;

            SupervisorRequest supervisorRequest = new SupervisorRequest();

            var guardar = false;



            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;


                idEmpresaInt = Convert.ToInt32(idEmpresa);
                vendedorRequest.idEmpresa         = idEmpresaInt;
                vendedorRequest.TiempoSeguimiento = 5;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(vendedorRequest));
            }


            if (!ModelState.IsValid)
            {
                InicializarMensaje(Mensaje.ModeloInvalido);
                return(View(vendedorRequest));
            }


            ApplicationDbContext db       = new ApplicationDbContext();
            Response             response = new Response();


            try
            {
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));


                var idUsuarioActual = User.Identity.GetUserId();

                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;

                if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
                {
                    response = await ApiServicio.InsertarAsync(supervisorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/obtenerSupervisorPorIdUsuario");

                    supervisorRequest            = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                    vendedorRequest.IdSupervisor = supervisorRequest.IdSupervisor;

                    guardar = true;
                }

                else if (userManager.IsInRole(idUsuarioActual, "GerenteGeneral"))
                {
                    guardar = true;
                }


                if (guardar == false)
                {
                    InicializarMensaje("No tiene permisos para agregar un nuevo vendedor");
                    return(View(vendedorRequest));
                }

                var userManager2     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                var InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                if (InstanciaUsuario != null)
                {
                    InicializarMensaje(Mensaje.ExisteCorreo);
                    return(View(vendedorRequest));
                }

                var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                                      new Uri(WebApp.BaseAddress),
                                                                                                      "api/Vendedores/BuscarUsuariosVendedoresPorEmpresaEIdentificacion");

                if (ExisteUsuario.Count > 0)
                {
                    InicializarMensaje(Mensaje.ExisteIdentificacionUsuario);
                    return(View(vendedorRequest));
                }

                var user = new ApplicationUser
                {
                    UserName       = vendedorRequest.Correo,
                    Email          = vendedorRequest.Correo,
                    Identificacion = vendedorRequest.Identificacion,

                    Nombres   = vendedorRequest.Nombres,
                    Apellidos = vendedorRequest.Apellidos,
                    Direccion = vendedorRequest.Direccion,
                    Telefono  = vendedorRequest.Telefono,

                    Estado = 1,

                    IdEmpresa = idEmpresaInt
                };



                var result = await userManager.CreateAsync(user, "A123345.1a");

                db.SaveChanges();

                if (result != null)
                {
                    InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                    vendedorRequest.IdUsuario = InstanciaUsuario.Id;


                    userManager.AddToRole(InstanciaUsuario.Id, "Vendedor");



                    response = await ApiServicio.InsertarAsync(vendedorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/InsertarVendedor");



                    if (response.IsSuccess)
                    {
                        if (fileUpload != null)
                        {
                            var idVendedor = response.Resultado;


                            var fichero = readFileContents(fileUpload);
                            var foto    = new ArchivoRequest {
                                Id = Convert.ToString(idVendedor), Array = fichero, Tipo = 3
                            };


                            var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                         , "Api/Archivos/Insertar");

                            if (fotoRequest.IsSuccess)
                            {
                                user.Foto = fotoRequest.Resultado.ToString();

                                db.Entry(user).State = EntityState.Modified;
                                await db.SaveChangesAsync();


                                var recuperarContrasenaRequest0 = new RecuperarContrasenaRequest();
                                recuperarContrasenaRequest0.Email = user.Email;

                                var response0 = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest0, new Uri(WebApp.BaseAddress)
                                                                                                   , "api/Usuarios/GenerarCodigo");

                                return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                            }
                            else
                            {
                                InicializarMensaje(Mensaje.Error);
                                return(View(vendedorRequest));
                            }
                        }

                        var recuperarContrasenaRequest = new RecuperarContrasenaRequest();
                        recuperarContrasenaRequest.Email = user.Email;

                        var response2 = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest, new Uri(WebApp.BaseAddress)
                                                                                           , "api/Usuarios/GenerarCodigo");

                        return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                    }
                }

                InicializarMensaje("No se ha podido crear un usuario");
                return(View(vendedorRequest));
            }
            catch (Exception ex)
            {
                ViewData["Error"] = Mensaje.Error;
                return(View(vendedorRequest));
            }
        }
Esempio n. 10
0
 public ArchivoResponse subirFotos(ArchivoRequest request)
 {
     throw new NotImplementedException();
 }
Esempio n. 11
0
        public CommandResponse <ArchivoResponse> UploadFileTemp(ArchivoRequest request)
        {
            var body = this.GetJsonParameters(request);

            return(this.CallWebApi <CommandResponse <ArchivoResponse> >(HttpMethod.Post, $"{_url}/upload/temp-archivo", body));
        }