Example #1
0
        public IHttpActionResult PostCliente(Cliente cliente)
        {
            int    cliente_id, corretaje_id;
            string correo, telefono;

            //Objeto de Gestion
            var gestion_controller = new GestionsController();

            //Objeto Verificacion
            var verificacion_controller = new VerificacionsController();

            //Correo
            var correo_controller = new CorreoController();

            //SMS
            var sms_controller = new SmsController();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Cliente.Add(cliente);
            db.SaveChanges();

            //Tomar valores
            cliente_id   = cliente.Id;
            corretaje_id = cliente.Id_Corretaje.Value; //Preguntar si lo dejo así o corretaje_id = cliente.Id_Corretaje.HasValue ? cliente.Id_Corretaje.Value:0
            //telefono = cliente.Gral_Celular.ToString();
            //correo = cliente.Gral_Correo;

            //Funciones
            gestion_controller.CreateGestions(cliente_id, corretaje_id);
            verificacion_controller.CreateVerificacions(cliente_id);
            //sms_controller.SendSms(telefono); Estan comentadas porque cuestan dinero xd
            //correo_controller.sendmail(correo);

            return(CreatedAtRoute("DefaultApi", new { id = cliente.Id }, cliente));
        }
        public IHttpActionResult PostCliente(Cliente cliente)
        {
            int    cliente_id, corretaje_id;
            string correo, telefono;

            //Obtener los correos de los usuarios de hablitacion y contaduria
            var usuarios = (from usu in db.Usuario where usu.usu_tipo == "2" || usu.usu_tipo == "6" select new { usu.usu_correo }).ToArray();

            //Objeto de Gestion
            var gestion_controller = new GestionsController();

            //Objeto Verificacion
            var verificacion_controller = new VerificacionsController();

            //Correo
            var correo_controller = new CorreoController();

            //SMS
            var sms_controller = new SmsController();

            //Folio
            var foliogenerado = ValidarFolioDuplicado();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            cliente.Gral_Fechaalta = DateTime.Now;
            cliente.Grlal_Folio    = foliogenerado;

            db.Cliente.Add(cliente);
            db.SaveChanges();

            //Tomar valores
            cliente_id   = cliente.Id;
            corretaje_id = cliente.Id_Corretaje.Value; //Preguntar si lo dejo así o corretaje_id = cliente.Id_Corretaje.HasValue ? cliente.Id_Corretaje.Value:0
                                                       //telefono = cliente.Gral_Celular.ToString();
                                                       //correo = cliente.Gral_Correo;

            correo = cliente.Gral_Correo;

            //Actualizar status de la casa
            if (cliente.Id_Corretaje != null)
            {
                Corretaje cr = db.Corretaje.Find(cliente.Id_Corretaje);
                cr.Crt_Status = "Venta";
                db.SaveChanges();
            }

            //Funciones
            gestion_controller.CreateGestions(cliente_id, corretaje_id);
            verificacion_controller.CreateVerificacions(cliente_id);
            //sms_controller.SendSms(telefono); Estan comentadas porque cuestan dinero xd

            //Llamado de función para enviar correo
            if (cliente.Gral_Correo != null || cliente.Gral_Correo != "")
            {
                correo_controller.sendmail(correo);
            }

            //Enviar correo de alta de casa a los demás departamentos
            foreach (var item in usuarios)
            {
                if (item != null)
                {
                    correo_controller.sendMailGestion(item.usu_correo);
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = cliente.Id }, cliente));
        }